final Double cleanPrice = (Double) cleanPriceObject;
final String creditCurveName = riskFreeCurveName;
final ValueProperties.Builder properties = getResultProperties(riskFreeCurveName, creditCurveName, curveName);
final ValueSpecification resultSpec = new ValueSpecification(ValueRequirementNames.PRESENT_VALUE_Z_SPREAD_SENSITIVITY, target.toSpecification(), properties.get());
final BondFixedSecurityDefinition definition = (BondFixedSecurityDefinition) security.accept(_visitor);
final BondFixedSecurity bond = definition.toDerivative(date, curveName, riskFreeCurveName);
final YieldAndDiscountCurve curve = (YieldAndDiscountCurve) curveObject;
final YieldAndDiscountCurve riskFreeCurve = (YieldAndDiscountCurve) riskFreeCurveObject;
final YieldCurveBundle data = new YieldCurveBundle(new String[] {curveName, riskFreeCurveName}, new YieldAndDiscountCurve[] {curve, riskFreeCurve});
return Sets.newHashSet(new ComputedValue(resultSpec, CALCULATOR.presentValueZSpreadSensitivityFromCurvesAndClean(bond, data, cleanPrice)));
}