final T tree;
try {
final Constructor<T> c = clazz.getConstructor(StochasticProcess1D.class, double.class, int.class, double.class);
tree = clazz.cast( c.newInstance(bs, maturity, timeSteps_, payoff.strike() ));
} catch (final Exception e) {
throw new LibraryException(e); // QA:[RG]::verified
}
final /*@Real*/ double creditSpread = a.creditSpread.currentLink().value();
final Lattice lattice = new TsiveriotisFernandesLattice<T>(tree, riskFreeRate, maturity, timeSteps_, creditSpread, v, q);
final DiscretizedConvertible convertible = new DiscretizedConvertible((ConvertibleBondOption.Arguments)a, bs, new TimeGrid(maturity, timeSteps_));