}
final PenaltyFunction currentCost = new PenaltyFunction(initialDataPoint, (i - localisation + 1), (i + 1));
final Problem toSolve = new Problem(currentCost, solverConstraint, new Array(startArray));
final EndCriteria.Type endType = solver.minimize (toSolve, endCriteria);
QL.require (endType == EndCriteria.Type.StationaryFunctionAccuracy ||
endType == EndCriteria.Type.StationaryFunctionValue,
"Unable to strip yieldcurve to required accuracy");
}