final MulticurveSensitivity forwardModifiedDr = PRCSDC.visitFixedCouponSwap(swaption.getUnderlyingSwap(), dayCountModification, sabrData.getMulticurveProvider());
final double[] bsAdjoint = blackFunction.getPriceAdjoint(option, dataBlack);
MulticurveSensitivity result = pvbpModifiedDr.multipliedBy(bsAdjoint[0]);
result = result.plus(forwardModifiedDr.multipliedBy(pvbpModified * (bsAdjoint[1] + bsAdjoint[2] * volatilityAdjoint[1])));
if (!swaption.isLong()) {
result = result.multipliedBy(-1);
}
final MultipleCurrencyMulticurveSensitivity pvcs = MultipleCurrencyMulticurveSensitivity.of(swaption.getCurrency(), result);
// SABR sensitivity
final PresentValueSABRSensitivityDataBundle pvss = new PresentValueSABRSensitivityDataBundle();
final DoublesPair expiryMaturity = new DoublesPair(swaption.getTimeToExpiry(), maturity);