public Interpolation localInterpolate(List <double> xBegin, int size, List <double> yBegin, int localisation,
                                              ConvexMonotoneInterpolation prevInterpolation, int finalSize)
        {
            int length = size;

            if (length - localisation == 1)   // the first time this
                                              // function is called
            {
                return(new ConvexMonotoneInterpolation(xBegin, size, yBegin, quadraticity_, monotonicity_, forcePositive_,
                                                       length != finalSize));
            }

            ConvexMonotoneInterpolation interp = prevInterpolation;

            return(new ConvexMonotoneInterpolation(xBegin, size, yBegin, quadraticity_, monotonicity_,
                                                   forcePositive_, length != finalSize, interp.getExistingHelpers()));
        }