controlPrices.setValues(arraySet.get(1).clone());
final StrikedTypePayoff striked_payoff = (StrikedTypePayoff) (payoff);
QL.require(striked_payoff != null , "non-striked payoff given"); // TODO: message
final double variance = process.blackVolatility().currentLink().blackVariance(exerciseDate, striked_payoff.strike());
final double dividendDiscount = process.dividendYield().currentLink().discount(exerciseDate);
final double riskFreeDiscount = process.riskFreeRate().currentLink().discount(exerciseDate);
final double spot = process.stateVariable().currentLink().value();
final double forwardPrice = spot * dividendDiscount / riskFreeDiscount;