protected override void initializeDates()
        {
            // dummy OvernightIndex with curve/swap arguments
            // review here
            IborIndex      clonedIborIndex      = overnightIndex_.clone(termStructureHandle_);
            OvernightIndex clonedOvernightIndex = clonedIborIndex as OvernightIndex;

            swap_ = new MakeOIS(tenor_, clonedOvernightIndex, 0.0)
                    .withSettlementDays(settlementDays_)
                    .withDiscountingTermStructure(termStructureHandle_);

            earliestDate_ = swap_.startDate();
            latestDate_   = swap_.maturityDate();
        }
        public DatedOISRateHelper(Date startDate,
                                  Date endDate,
                                  Handle <Quote> fixedRate,
                                  OvernightIndex overnightIndex)

            : base(fixedRate)
        {
            overnightIndex.registerWith(update);

            // dummy OvernightIndex with curve/swap arguments
            // review here
            IborIndex      clonedIborIndex      = overnightIndex.clone(termStructureHandle_);
            OvernightIndex clonedOvernightIndex = clonedIborIndex as OvernightIndex;

            swap_ = new MakeOIS(new Period(), clonedOvernightIndex, 0.0)
                    .withEffectiveDate(startDate)
                    .withTerminationDate(endDate)
                    .withDiscountingTermStructure(termStructureHandle_);

            earliestDate_ = swap_.startDate();
            latestDate_   = swap_.maturityDate();
        }