protected Forward(DayCounter dayCounter, Calendar calendar, BusinessDayConvention businessDayConvention,
int settlementDays, Payoff payoff, Date valueDate, Date maturityDate,
Handle<YieldTermStructure> discountCurve)
{
dayCounter_ = dayCounter;
calendar_ = calendar;
businessDayConvention_ = businessDayConvention;
settlementDays_ = settlementDays;
payoff_ = payoff;
valueDate_ = valueDate;
maturityDate_ = maturityDate;
discountCurve_ = discountCurve;
maturityDate_ = calendar_.adjust(maturityDate_, businessDayConvention_);
Settings.registerWith(update);
discountCurve_.registerWith(update);
}