protected Set<ComputedValue> computeValues(final Set<EquityIndexOption> vanillaOptions, final StaticReplicationDataBundle market, final FunctionInputs inputs,
final Set<ValueRequirement> desiredValues, final ComputationTargetSpecification targetSpec, final ValueProperties resultProperties) {
final ValueSpecification resultSpec = new ValueSpecification(getValueRequirementNames()[0], targetSpec, resultProperties);
final EquityIndexOptionBlackMethod model = EquityIndexOptionBlackMethod.getInstance();
final EquityIndexOption firstDerivative = vanillaOptions.iterator().next();
return Collections.singleton(new ComputedValue(resultSpec, model.forwardIndexValue(firstDerivative, market))); // All derivatives in the set share their forward
}
//TODO this function return values unnecessary properties - the surface name, currency, interpolator and calculation method, which are used
// to construct the market data bundle.
}