@Override
 protected void propertySet(Bean bean, String propertyName, Object newValue, boolean quiet) {
   switch (propertyName.hashCode()) {
     case -1218695809: // overnightIndexConvention
       ((ONCompoundedLegRollDateConvention) bean)
           .setOvernightIndexConvention((ExternalId) newValue);
       return;
     case -507548582: // paymentTenor
       ((ONCompoundedLegRollDateConvention) bean).setPaymentTenor((Tenor) newValue);
       return;
     case 1873675528: // stubType
       ((ONCompoundedLegRollDateConvention) bean).setStubType((StubType) newValue);
       return;
     case 348962765: // isExchangeNotional
       ((ONCompoundedLegRollDateConvention) bean).setIsExchangeNotional((Boolean) newValue);
       return;
     case 1612870060: // paymentLag
       ((ONCompoundedLegRollDateConvention) bean).setPaymentLag((Integer) newValue);
       return;
   }
   super.propertySet(bean, propertyName, newValue, quiet);
 }
 @Override
 public boolean equals(Object obj) {
   if (obj == this) {
     return true;
   }
   if (obj != null && obj.getClass() == this.getClass()) {
     ONCompoundedLegRollDateConvention other = (ONCompoundedLegRollDateConvention) obj;
     return JodaBeanUtils.equal(getOvernightIndexConvention(), other.getOvernightIndexConvention())
         && JodaBeanUtils.equal(getPaymentTenor(), other.getPaymentTenor())
         && JodaBeanUtils.equal(getStubType(), other.getStubType())
         && (isIsExchangeNotional() == other.isIsExchangeNotional())
         && (getPaymentLag() == other.getPaymentLag())
         && super.equals(obj);
   }
   return false;
 }