@Override
 public boolean equals(Object obj) {
   if (this == obj) return true;
   if (obj == null) return false;
   if (getClass() != obj.getClass()) return false;
   FieldMappingData other = (FieldMappingData) obj;
   if (desc == null) {
     if (other.desc != null) return false;
   } else if (!desc.equals(other.desc)) return false;
   if (fieldOwner == null) {
     if (other.fieldOwner != null) return false;
   } else if (!fieldOwner.equals(other.fieldOwner)) return false;
   if (name == null) {
     if (other.name != null) return false;
   } else if (!name.equals(other.name)) return false;
   return true;
 }