instanceof operador en java para comparar diferentes clases

staba tratando de ver cómo funciona la instancia de operador en Java y estoy enfrentando un problema muy extraño.

public static void main(String[] args) {
    Map m = new HashMap();
    System.out.println("m instanceof Date: " + (m instanceof Date));
}

Lo anterior devuelve falso como se esperaba. Sin embargo

public static void main(String[] args) {
    HashMap m = new HashMap();
    System.out.println("m instanceof Date: " + (m instanceof Date));
}

Esto ni siquiera compila. Me sale un error

inconvertible types
found   : java.util.HashMap
required : java.util.Date

¿Que me estoy perdiendo aqui? Estoy usando IntelliJ Idea 11.

Respuestas a la pregunta(8)

Su respuesta a la pregunta