@Override
 public <T> Optional<T> findData(MarketDataName<T> name) {
   if (surface.getName().equals(name)) {
     return Optional.of(name.getMarketDataType().cast(surface));
   }
   return Optional.empty();
 }
 // -------------------------------------------------------------------------
 @Override
 public IborFutureOptionVolatilitiesName getName() {
   return IborFutureOptionVolatilitiesName.of(surface.getName().getName());
 }