Calendar.before (Objeto cuando), ¿por qué Objeto?

Del javadoc deCalendar.before(Object when):

Devuelve si este calendario representa un tiempo anterior al tiempo representado por el objeto especificado. Este método es equivalente a:

compareTo(when) < 0

si y solo si cuando es una instancia de Calendar. De lo contrario, el método devuelve falso.

¿Por qué acepta un Objeto si cuando alguien pasa algo que no es una instancia de Calendario devuelve falso? ¿Por qué no simplemente aceptar una instancia de Calendar? Esto me mantuvo buscando resultados incorrectos en una funcionalidad durante bastante tiempo.

Respuestas a la pregunta(3)

Su respuesta a la pregunta