} else if (generatorSwap instanceof GeneratorSwapFixedON) {
final GeneratorSwapFixedON fixedONGenerator = (GeneratorSwapFixedON) generatorSwap;
calendar = fixedONGenerator.getOvernightCalendar();
dayCountModification = fixedONGenerator.getFixedLegDayCount();
} else if (generatorSwap instanceof GeneratorSwapFixedCompoundedONCompounded) {
final GeneratorSwapFixedCompoundedONCompounded fixedCompoundedON = (GeneratorSwapFixedCompoundedONCompounded) generatorSwap;
calendar = fixedCompoundedON.getOvernightCalendar();
dayCountModification = fixedCompoundedON.getFixedLegDayCount();
} else {
throw new IllegalArgumentException("Cannot handle swap with underlying generator of type " + generatorSwap.getClass());
}
final MulticurveProviderInterface multicurves = blackMulticurves.getMulticurveProvider();
final double pvbpModified = METHOD_SWAP.presentValueBasisPoint(swaption.getUnderlyingSwap(), dayCountModification, calendar, multicurves);