#bloch-effective-java-2ed #java
the same caveat applies to compareTo() as to equals(): there is no way to extend an instantiable class with a new value component while preserving the compareTo contract, unless you are willing to forgo the benefits of object-oriented abstraction