in messages/src/main/java/com/epam/deltix/timebase/messages/schema/StreamMessage.java [294:353]
public boolean equals(Object obj) {
if (this == obj) return true;
boolean superEquals = super.equals(obj);
if (!superEquals) return false;
if (!(obj instanceof StreamMessage)) return false;
StreamMessage other =(StreamMessage)obj;
if (hasKey() != other.hasKey()) return false;
if (hasKey()) {
if (getKey().length() != other.getKey().length()) return false; else {
CharSequence s1 = getKey();
CharSequence s2 = other.getKey();
if ((s1 instanceof MutableString && s2 instanceof MutableString) || (s1 instanceof String && s2 instanceof String) || (s1 instanceof BinaryAsciiString && s2 instanceof BinaryAsciiString)) {
if (!s1.equals(s2)) return false;
} else {
if (!CharSequenceUtils.equals(s1, s2)) return false;
}
}
}
if (hasName() != other.hasName()) return false;
if (hasName()) {
if (getName().length() != other.getName().length()) return false; else {
CharSequence s1 = getName();
CharSequence s2 = other.getName();
if ((s1 instanceof MutableString && s2 instanceof MutableString) || (s1 instanceof String && s2 instanceof String) || (s1 instanceof BinaryAsciiString && s2 instanceof BinaryAsciiString)) {
if (!s1.equals(s2)) return false;
} else {
if (!CharSequenceUtils.equals(s1, s2)) return false;
}
}
}
if (hasDescription() != other.hasDescription()) return false;
if (hasDescription()) {
if (getDescription().length() != other.getDescription().length()) return false; else {
CharSequence s1 = getDescription();
CharSequence s2 = other.getDescription();
if ((s1 instanceof MutableString && s2 instanceof MutableString) || (s1 instanceof String && s2 instanceof String) || (s1 instanceof BinaryAsciiString && s2 instanceof BinaryAsciiString)) {
if (!s1.equals(s2)) return false;
} else {
if (!CharSequenceUtils.equals(s1, s2)) return false;
}
}
}
if (hasTopTypes() != other.hasTopTypes()) return false;
if (hasTopTypes()) {
if (getTopTypes().size() != other.getTopTypes().size()) return false;
else for (int j = 0; j < getTopTypes().size(); ++j) {
if ((getTopTypes().get(j) != null) != (other.getTopTypes().get(j) != null)) return false;
if (getTopTypes().get(j) != null && !getTopTypes().get(j).equals(other.getTopTypes().get(j))) return false;
}
}
if (hasAllTypes() != other.hasAllTypes()) return false;
if (hasAllTypes()) {
if (getAllTypes().size() != other.getAllTypes().size()) return false;
else for (int j = 0; j < getAllTypes().size(); ++j) {
if ((getAllTypes().get(j) != null) != (other.getAllTypes().get(j) != null)) return false;
if (getAllTypes().get(j) != null && !getAllTypes().get(j).equals(other.getAllTypes().get(j))) return false;
}
}
return true;
}