@Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; SimpleRelation other = (SimpleRelation) obj; if (features == null) { if (other.features != null) return false; } else if (!features.equals(other.features)) return false; if (!Arrays.equals(members, other.members)) return false; if (type == null) { if (other.type != null) return false; } else if (!type.equals(other.type)) return false; if (userData == null) { if (other.userData != null) return false; } else if (!userData.equals(other.userData)) return false; return true; }