equals () vs compareTo () в компараторе / состоянии (теоретическое)

Я не понимаю Javadoc:

The natural ordering for a class C is said to be consistent with equals if and only if
  (e1.compareTo((Object)e2) == 0) has the same boolean value as e1.equals((Object)e2) for
  every e1 and e2 of class C.

Почему так должно быть?

Я понимаю, что e1.equals (e2) = true всегда должно подразумевать e1.compareTo (e2) == 0, но я не могу понять, почему обратное должно быть правдой. Сравнение не равенство! 2 равных объекта следует сравнивать с нулем, но 2 разных объекта должны иметь возможность сравнивать с 0, если критерии сортировки не актуальны в их случае. Я имею в виду, что выравнивание разных объектов - это не правильно, но разные объекты с нулевым сравнением, почему бы и нет?

EDIT: Later it says that consistency is strong recommended, for some compatibility issues, and hence the question

Ответы на вопрос(4)

Ваш ответ на вопрос