// bootstrap the yield/dividend/volatility curves
final Handle<Quote> underlyingH = new Handle<Quote>(new SimpleQuote(underlying));
final Handle<YieldTermStructure> flatDividendTS = new Handle<YieldTermStructure>(new FlatForward(settlementDate, dividendYield, dayCounter));
final Handle<YieldTermStructure> flatTermStructure = new Handle<YieldTermStructure>(new FlatForward(settlementDate, riskFreeRate, dayCounter));
final Handle<BlackVolTermStructure> flatVolTS = new Handle<BlackVolTermStructure>(new BlackConstantVol(settlementDate, calendar, volatility, dayCounter));
final Payoff payoff = new PlainVanillaPayoff(type, strike);
final BlackScholesMertonProcess bsmProcess = new BlackScholesMertonProcess(underlyingH, flatDividendTS, flatTermStructure, flatVolTS);
// European Options
final VanillaOption europeanOption = new EuropeanOption(payoff, europeanExercise);