final ValueSpecification spec = new ValueSpecification(_valueRequirementName, target.toSpecification(), properties.get());
final YieldCurveBundle curvesWithFX = new YieldCurveBundle(fxMatrix, curveCurrency, yieldCurves.getCurvesMap());
final ObjectsPair<Currency, Currency> currencyPair = Pair.of(ccy1, ccy2);
BlackForexTermStructureParameters termStructure;
if (volatilitySurfaceObject instanceof SmileDeltaTermStructureParametersStrikeInterpolation) {
final SmileDeltaTermStructureParametersStrikeInterpolation smiles = (SmileDeltaTermStructureParametersStrikeInterpolation) volatilitySurfaceObject;
termStructure = smiles.toTermStructureOnlyData(interpolator);
} else {
termStructure = (BlackForexTermStructureParameters) volatilitySurfaceObject;
}
final YieldCurveWithBlackForexTermStructureBundle flatData = new YieldCurveWithBlackForexTermStructureBundle(curvesWithFX, termStructure, currencyPair);
return getResult(fxOption, flatData, target, desiredValues, inputs, spec, executionContext);