in messages/src/main/java/com/epam/deltix/timebase/messages/schema/FieldType.java [190:221]
public boolean equals(Object obj) {
if (this == obj) return true;
if (!(obj instanceof FieldType)) return false;
FieldType other =(FieldType)obj;
if (hasEncoding() != other.hasEncoding()) return false;
if (hasEncoding()) {
if (getEncoding().length() != other.getEncoding().length()) return false; else {
CharSequence s1 = getEncoding();
CharSequence s2 = other.getEncoding();
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 (hasIsNullable() != other.hasIsNullable()) return false;
if (hasIsNullable() && isNullable() != other.isNullable()) return false;
if (hasBaseName() != other.hasBaseName()) return false;
if (hasBaseName()) {
if (getBaseName().length() != other.getBaseName().length()) return false; else {
CharSequence s1 = getBaseName();
CharSequence s2 = other.getBaseName();
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;
}