The method implementation must define a total ordering relationship
sign( x.compareTo(y) ) = -sign( y.compareTo(x) )
x.compareTo(x) = 0
If x.compareTo(y) <= 0 and y.compareTo(Z) <= 0, then x.compareTo(z) <= 0