@Override
 public Set<ComputedValue> getResults(
     final InstrumentDerivative derivative,
     final String curveName,
     final InterpolatedYieldCurveSpecificationWithSecurities curveSpec,
     final YieldCurveBundle curves,
     final ValueSpecification resultSpec) {
   final Map<String, Double> pv01 = CALCULATOR.visit(derivative, curves);
   if (!pv01.containsKey(curveName)) {
     throw new OpenGammaRuntimeException(
         "Could not get PV01 for curve named " + curveName + "; should never happen");
   }
   return Collections.singleton(new ComputedValue(resultSpec, pv01.get(curveName)));
 }