final double m = -1.5 + 3.0 * i / 10.0;
final double strike = FORWARD * Math.exp(ATM_VOL * Math.sqrt(T) * m);
final OptionDefinition option = new EuropeanVanillaOptionDefinition(strike, OPTION.getExpiry(), OPTION.isCall());
optionPriceTree = BUILDER.buildOptionPriceTree(option, data, assetPriceTree);
final EuropeanVanillaOption o = new EuropeanVanillaOption(strike, T, true);
final CEVFunctionData cfd = new CEVFunctionData(FORWARD, YIELD_CURVE.getDiscountFactor(T), SIGMA_BETA, BETA);
final double cevPrice = CEV_PRICE.getPriceFunction(o).evaluate(cfd);
final double cevVol = BLACK_IMPLIED_VOL.getImpliedVolatility(new BlackFunctionData(FORWARD, YIELD_CURVE.getDiscountFactor(T), SIGMA_BETA), o, cevPrice);
final double impVol = BLACK_IMPLIED_VOL.getImpliedVolatility(new BlackFunctionData(FORWARD, YIELD_CURVE.getDiscountFactor(T), SIGMA_BETA), o, optionPriceTree.getNode(0, 0).getValue());
//final double cevPrice = CEVFormula.optionPrice(FORWARD, strike, BETA, df, SIGMA_BETA, T, true);
//final double cevVol = BlackImpliedVolFormula.impliedVol(cevPrice, FORWARD, strike, df, T, true);