final double maxProxyDelta = Double.parseDouble(desiredValue.getConstraint(PROPERTY_MAX_PROXY_DELTA));
final double centreMoneyness = Double.parseDouble(desiredValue.getConstraint(PROPERTY_CENTRE_MONEYNESS));
final String interpolatorName = desiredValue.getConstraint(PROPERTY_SPACE_DIRECTION_INTERPOLATOR);
final Interpolator1D interpolator = Interpolator1DFactory.getInterpolator(interpolatorName);
final PDELocalVolatilityCalculator<?> pdeCalculator =
getPDECalculator(new LocalVolatilityForwardPDECalculator(theta, nTimeSteps, nSpaceSteps, timeStepBunching, spaceStepBunching, maxProxyDelta, centreMoneyness), interpolator);
final Object localVolatilityObject = inputs.getValue(ValueRequirementNames.LOCAL_VOLATILITY_SURFACE);
if (localVolatilityObject == null) {
throw new OpenGammaRuntimeException("Could not get local volatility surface");
}
final Object forwardCurveObject = inputs.getValue(ValueRequirementNames.FORWARD_CURVE);