Create Parallel SubPath / Segment / Curve

There is Shape.CreateParallelCurves(int count, double distance) method, and ShapeRange.CreateParallelCurves methods.

Those are great methods but there are some inconveniences.

1. You can't create parallel curves for virtual shape located on virtual layer

2. Because this methods works on shapes they trigger all things associated with shapes - logging actions etc. So it's not so fast.

3. You can't create virtual parallel curve for calculation purposes only, they added to document and you must delete them after use, and turn on optimizations to prevent undo logging, drawing etc.

Maybe somebody can share working algorithm for calculating parallel bezier curves mathematically for corel subpaths and segments?