protected final /*@Volatility*/ double localVolImpl(
final /*@Time*/ double time,
final /*@Real*/ double underlyingLevel) {
// obtain local copies of objects
final Quote u = underlying_.currentLink();
final YieldTermStructure dTS = dividendTS_.currentLink();
final YieldTermStructure rTS = riskFreeTS_.currentLink();
final BlackVolTermStructure bTS = blackTS_.currentLink();
final double forwardValue = u.value() * ( dTS.discount(time, true) / rTS.discount(time, true) );
// strike derivatives
/*@Real*/ double strike;
/*@Real*/ double strikem;
/*@Real*/ double strikep;