final String desiredCurveName = desiredValue.getConstraint(CURVE);
final ValueProperties properties = desiredValue.getConstraints();
final double cutoffStrike = Double.parseDouble(desiredValue.getConstraint(PROPERTY_STRIKE_CUTOFF));
final double mu = Double.parseDouble(desiredValue.getConstraint(PROPERTY_MU));
final InstrumentDerivativeVisitor<SABRSwaptionProviderInterface, ReferenceAmount<Pair<String, Currency>>> calculator =
new PV01CurveParametersCalculator<>(new PresentValueCurveSensitivitySABRSwaptionRightExtrapolationCalculator(cutoffStrike, mu));
final ReferenceAmount<Pair<String, Currency>> pv01 = derivative.accept(calculator, sabrData);
final Set<ComputedValue> results = new HashSet<>();
boolean curveNameFound = false;
for (final Map.Entry<Pair<String, Currency>, Double> entry : pv01.getMap().entrySet()) {
final String curveName = entry.getKey().getFirst();