Calendar.before (Objeto quando), por que Objeto?

Do javadoc deCalendar.before(Object when):

Retorna se este calendário representa um tempo antes do tempo representado pelo objeto especificado. Este método é equivalente a:

compareTo(when) < 0

se e somente se quando for uma instância do Google Agenda. Caso contrário, o método retornará false.

Por que ele aceita um Objeto se, quando alguém passa algo que não é uma instância do Calendário, retorna falso? Por que não aceitar apenas uma instância do Google Agenda? Isso me manteve observando resultados incorretos em uma funcionalidade por algum tempo.

questionAnswers(3)

yourAnswerToTheQuestion