// we may watch an underlying coupon ...
public CappedFlooredYoYInflationCoupon(YoYInflationCoupon underlying,
double? cap = null,
double? floor = null)
:base(underlying.date(),
underlying.nominal(),
underlying.accrualStartDate(),
underlying.accrualEndDate(),
underlying.fixingDays(),
underlying.yoyIndex(),
underlying.observationLag(),
underlying.dayCounter(),
underlying.gearing(),
underlying.spread(),
underlying.refPeriodStart,
underlying.refPeriodEnd)
{
underlying_ = underlying;
isFloored_ = false;
isCapped_ = false;
setCommon(cap, floor);
underlying.registerWith(update);
}