@Override
 public boolean equals(Object obj) {
   if (obj == this) {
     return true;
   }
   if (obj != null && obj.getClass() == this.getClass()) {
     OvernightCompoundedRateObservation other = (OvernightCompoundedRateObservation) obj;
     return JodaBeanUtils.equal(getIndex(), other.getIndex())
         && JodaBeanUtils.equal(getStartDate(), other.getStartDate())
         && JodaBeanUtils.equal(getEndDate(), other.getEndDate())
         && (getRateCutOffDays() == other.getRateCutOffDays());
   }
   return false;
 }
 /**
  * Restricted copy constructor.
  *
  * @param beanToCopy the bean to copy from, not null
  */
 private Builder(OvernightCompoundedRateObservation beanToCopy) {
   this.index = beanToCopy.getIndex();
   this.startDate = beanToCopy.getStartDate();
   this.endDate = beanToCopy.getEndDate();
   this.rateCutOffDays = beanToCopy.getRateCutOffDays();
 }