throw new OpenGammaRuntimeException("Forward curve was null");
}
final ForwardCurve forwardCurve = (ForwardCurve) forwardCurveObject;
final ValueRequirement volDataRequirement = getUnderlyingVolatilityDataRequirement(surfaceName, id);
final SmileSurfaceDataBundle data = getData(inputs, volDataRequirement, forwardCurveRequirement);
final FXOptionSecurity fxOption = (FXOptionSecurity) security;
final CurrencyPairs currencyPairs = OpenGammaExecutionContext.getCurrencyPairsSource(executionContext).getCurrencyPairs(CurrencyPairs.DEFAULT_CURRENCY_PAIRS);
final CurrencyPair currencyPair = currencyPairs.getCurrencyPair(fxOption.getPutCurrency(), fxOption.getCallCurrency());
final EuropeanVanillaOption option = getOption(security, now, currencyPair);
return Collections.singleton(new ComputedValue(spec, getResult(calculator, localVolatilitySurface, forwardCurve, data, option)));
}