@Override
 public Double visitSwaptionPhysicalFixedIbor(
     final SwaptionPhysicalFixedIbor swaption, final YieldCurveBundle curves) {
   ArgumentChecker.notNull(swaption, "swaption");
   ArgumentChecker.notNull(curves, "curves");
   if (curves instanceof YieldCurveWithBlackSwaptionBundle) {
     final YieldCurveWithBlackSwaptionBundle curvesBlack =
         (YieldCurveWithBlackSwaptionBundle) curves;
     return PHYSICAL_SWAPTION.presentValue(swaption, curvesBlack).getAmount();
   }
   throw new UnsupportedOperationException(
       "The PresentValueBlackCalculator visitor visitSwaptionPhysicalFixedIbor requires a YieldCurveWithBlackSwaptionBundle as data.");
 }