public synchronized boolean equals(java.lang.Object obj) {
   if (!(obj instanceof PlanRecord)) return false;
   PlanRecord other = (PlanRecord) obj;
   if (obj == null) return false;
   if (this == obj) return true;
   if (__equalsCalc != null) {
     return (__equalsCalc == obj);
   }
   __equalsCalc = obj;
   boolean _equals;
   _equals =
       true
           && ((this.item == null && other.getItem() == null)
               || (this.item != null && this.item.equals(other.getItem())));
   __equalsCalc = null;
   return _equals;
 }