bufr/src/main/java/ucar/nc2/iosp/bufr/DataDescriptor.java
public boolean equals2(Object o) {
    if (this == o) return true;
    if (o == null || getClass() != o.getClass()) return false;

    DataDescriptor that = (DataDescriptor) o;

    if (fxy != that.fxy) return false;
    if (replication != that.replication) return false;
    if (type != that.type) return false;
    if (subKeys != null ? !subKeys.equals(that.subKeys) : that.subKeys != null) return false;

    return true;
  }
public boolean equals2(Object o) {
    if (this == o) return true;
    if (o == null || getClass() != o.getClass()) return false;

    DataDescriptor that = (DataDescriptor) o;

    if (fxy != that.fxy) return false;
    if (replication != that.replication) return false;
    if (type != that.type) return false;
    if (subKeys != null ? !subKeys.equals(that.subKeys) : that.subKeys != null) return false;

    return true;
  }
LOOK need different hashCode, reader assumes using object id