comparison equals hascode toString compareTo with and without guava