@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."); }