@Override
 public boolean equals(Object obj) {
   if (obj == this) {
     return true;
   }
   if (obj != null && obj.getClass() == this.getClass()) {
     ImmSubSubPersonFinal other = (ImmSubSubPersonFinal) obj;
     return JodaBeanUtils.equal(getCodeCounts(), other.getCodeCounts()) && super.equals(obj);
   }
   return false;
 }
 /**
  * Restricted copy constructor.
  *
  * @param beanToCopy the bean to copy from, not null
  */
 private Builder(ImmSubSubPersonFinal beanToCopy) {
   this.codeCounts =
       (beanToCopy.getCodeCounts() != null
           ? HashMultiset.create(beanToCopy.getCodeCounts())
           : null);
 }