final double nu = sabrParameter.getNu(expiryMaturity);
final SABRFormulaData sabrPoint = new SABRFormulaData(alpha, beta, rho, nu);
final CMSVegaIntegrant integrantVega = new CMSVegaIntegrant(cmsCapFloor, sabrPoint, forward, _cutOffStrike, _mu);
final double factor = discountFactorTp / integrantVega.h(forward) * integrantVega.g(forward);
final SABRExtrapolationRightFunction sabrExtrapolation = new SABRExtrapolationRightFunction(forward, sabrPoint, _cutOffStrike, cmsCapFloor.getFixingTime(), _mu);
final EuropeanVanillaOption option = new EuropeanVanillaOption(strike, cmsCapFloor.getFixingTime(), cmsCapFloor.isCap());
final double factor2 = factor * integrantVega.k(strike);
final double[] strikePartPrice = new double[4];
sabrExtrapolation.priceAdjointSABR(option, strikePartPrice);
for (int loopvega = 0; loopvega < 4; loopvega++) {
strikePartPrice[loopvega] *= factor2;