### Question:
ColumnIdentifier implements Comparable<ColumnIdentifier>, Serializable { @Override public int compareTo(ColumnIdentifier other) { int tableIdentifierComparison; if (this.tableIdentifier == null) { if (other.tableIdentifier == null) tableIdentifierComparison = 0; else tableIdentifierComparison = 1; } else if (other.tableIdentifier == null) tableIdentifierComparison = -1; else tableIdentifierComparison = this.tableIdentifier.compareTo(other.tableIdentifier); if (0 != tableIdentifierComparison) { return tableIdentifierComparison; } else { return columnIdentifier.compareTo(other.columnIdentifier); } } ColumnIdentifier();  ColumnIdentifier(String tableIdentifier, String columnIdentifier); String getTableIdentifier(); void setTableIdentifier(String tableIdentifier); String getColumnIdentifier(); void setColumnIdentifier(String columnIdentifier); @Override String toString(); String toString(Map<String, String> tableMapping, Map<String, String> columnMapping); static ColumnIdentifier fromString(Map<String, String> tableMapping, Map<String, String> columnMapping, String str); @Override int hashCode(); @Override boolean equals(Object obj); @Override int compareTo(ColumnIdentifier other); static final String TABLE_COLUMN_CONCATENATOR; static final String TABLE_COLUMN_CONCATENATOR_ESC; }### Answer:
@Test public void testCompareTo() { ColumnIdentifier identifier1 = new ColumnIdentifier("tableA", "ab"); ColumnIdentifier identifier2 = new ColumnIdentifier("tableA", "ac"); ColumnIdentifier identifier3 = new ColumnIdentifier("tableB", "ab"); assertThat(identifier2, greaterThan(identifier1)); assertThat(identifier3, greaterThan(identifier2)); assertThat(identifier2, lessThan(identifier3)); assertThat(identifier3, equalTo(identifier3)); }