Из документации javadoc Calendar.before (Object when)
:
Возвращает, представляет ли этот Calendar время до времени, представленного указанный объект. Этот метод эквивалентен:
compareTo(when) < 0
тогда и только тогда, когда это экземпляр Calendar. В противном случае метод возвращает false.
Почему он принимает объект, если когда кто-то передает что-то, что ' это не экземпляр Calendar, он возвращает false? Почему бы просто не принять экземпляр календаря? Это заставляло меня некоторое время следить за некорректными результатами в функциональности.