final SABRInterestRateDataBundle sabrBundle = new SABRInterestRateDataBundle(sabrParameter, curves);
final double expectedPriceLongPayer = 5107666.869;
final double premiumAmount = expectedPriceLongPayer / curves.getCurve(FUNDING_CURVE_NAME).getDiscountFactor(SWAPTION_LONG_PAYER.getSettlementTime());
final PaymentFixedDefinition premiumDefinition = new PaymentFixedDefinition(CUR, SETTLEMENT_DATE, -premiumAmount);
final PaymentFixed premium = premiumDefinition.toDerivative(REFERENCE_DATE, CURVES_NAME);
final double pvPremium = premium.accept(PVC, sabrBundle);
final double swaptionPV = SWAPTION_LONG_PAYER.accept(PVC, sabrBundle);
assertEquals("swaption present value with premium", -expectedPriceLongPayer, pvPremium, 1.0E-2);
assertEquals("swaption present value with premium", expectedPriceLongPayer, swaptionPV, 1.0E-2);
}