final Object underlyingValue = inputs.getValue(MarketDataRequirementNames.MARKET_VALUE);
if (underlyingValue == null) {
throw new OpenGammaRuntimeException("Could not get market data for underlying future");
}
final double futurePrice = (Double) underlyingValue;
final YieldCurveWithBlackCubeAndForwardBundle dataWithFuture = YieldCurveWithBlackCubeAndForwardBundle.from(data, futurePrice);
final double pv = bondFutureOption.accept(s_calculator, dataWithFuture);
return Collections.singleton(new ComputedValue(spec, pv));
}