private void CubicBezierCurveTo(double x1, double y1, double x2, double y2, double x, double y)
        {
            var startX = _currentX;
            var startY = _currentY;

            for (var i = 0; i < _bezierCurveInterpolationSteps; i++)
            {
                BezierCurveHelper.PointOnCubicBezierCurve(startX, startY, x1, y1, x2, y2, x, y, (double)i / _bezierCurveInterpolationSteps,
                                                          out var nextPointX, out var nextPointY);
                LineTo(nextPointX, nextPointY);
            }

            LineTo(x, y);
            _previousCommandControlPointX = x2;
            _previousCommandControlPointY = y2;
        }