@Override
protected Set<ComputedValue> getValues(final FunctionExecutionContext executionContext, final FunctionInputs inputs,
final ComputationTarget target, final Set<ValueRequirement> desiredValues, final InstrumentDerivative derivative,
final FXMatrix fxMatrix) {
final Set<ComputedValue> result = new HashSet<>();
final HullWhiteOneFactorProviderInterface curves = getMergedProviders(inputs, fxMatrix);
final CurveBuildingBlockBundle blocks = getMergedCurveBuildingBlocks(inputs);
final MultipleCurrencyParameterSensitivity sensitivities = CALCULATOR.fromInstrument(derivative, curves, blocks);
for (final ValueRequirement desiredValue : desiredValues) {
final ValueSpecification spec = new ValueSpecification(BLOCK_CURVE_SENSITIVITIES, target.toSpecification(), desiredValue.getConstraints().copy().get());
result.add(new ComputedValue(spec, sensitivities));