This violates the contract for equals in a number of different ways. You need to check of `o` is `instanceof  Sorter` and return `false`