Java Comparison Method Violates Its General Contracting