in messages/src/main/java/com/epam/deltix/timebase/messages/service/ErrorMessage.java [265:312]
public boolean equals(Object obj) {
if (this == obj) return true;
boolean superEquals = super.equals(obj);
if (!superEquals) return false;
if (!(obj instanceof ErrorMessage)) return false;
ErrorMessage other =(ErrorMessage)obj;
if (hasErrorType() != other.hasErrorType()) return false;
if (hasErrorType()) {
if (getErrorType().length() != other.getErrorType().length()) return false; else {
CharSequence s1 = getErrorType();
CharSequence s2 = other.getErrorType();
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 (hasSeqNum() != other.hasSeqNum()) return false;
if (hasSeqNum() && getSeqNum() != other.getSeqNum()) return false;
if (hasLevel() != other.hasLevel()) return false;
if (hasLevel() && getLevel() != other.getLevel()) return false;
if (hasMessageText() != other.hasMessageText()) return false;
if (hasMessageText()) {
if (getMessageText().length() != other.getMessageText().length()) return false; else {
CharSequence s1 = getMessageText();
CharSequence s2 = other.getMessageText();
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 (hasDetails() != other.hasDetails()) return false;
if (hasDetails()) {
if (getDetails().length() != other.getDetails().length()) return false; else {
CharSequence s1 = getDetails();
CharSequence s2 = other.getDetails();
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;
}
}
}
return true;
}