@SuppressWarnings("rawtypes")
		@Override
		public int compare(T t1, T t2) {

			// at this point we compare the rows, since all of the sorting column values are equal
			// (Warning: due to comparable being specific to the class upon which it is defined,
			//           we have to make sure the class is the same to prevent class cast
			//           exceptions when the table has mixed implementations of 'T')
			if (t1 instanceof Comparable && t1.getClass().equals(t2.getClass())) {
				return ((Comparable) t1).compareTo(t2);
			}

			// use the identity hash to provide a consistent unique identifier within a JVM session
			return System.identityHashCode(t1) - System.identityHashCode(t2);
		}
This class is designed to be used as the last link in a chain of comparators.  If we get
to this comparator, then the two given objects are assumed to have compared as equal.  Thus,
when we get to this comparator, then we have to make a decision about reasonable default
comparisons in order to maintain sorting consistency across sorts.
Ghidra/Framework/Docking/src/main/java/docking/widgets/table/AbstractSortedTableModel.java