@Override
 public CurrencyParameterSensitivities parameterSensitivity(
     PointSensitivities pointSensitivities) {
   CurrencyParameterSensitivities sens = CurrencyParameterSensitivities.empty();
   for (PointSensitivity point : pointSensitivities.getSensitivities()) {
     if (point instanceof IborFutureOptionSensitivity) {
       IborFutureOptionSensitivity pt = (IborFutureOptionSensitivity) point;
       if (pt.getVolatilitiesName().equals(getName())) {
         sens = sens.combinedWith(parameterSensitivity(pt));
       }
     }
   }
   return sens;
 }
 private CurrencyParameterSensitivity parameterSensitivity(IborFutureOptionSensitivity point) {
   double simpleMoneyness =
       moneynessOnPrice
           ? point.getStrikePrice() - point.getFuturePrice()
           : point.getFuturePrice() - point.getStrikePrice();
   UnitParameterSensitivity unitSens =
       surface.zValueParameterSensitivity(point.getExpiry(), simpleMoneyness);
   return unitSens.multipliedBy(point.getCurrency(), point.getSensitivity());
 }