I've been doing some sax parsing in Java recently. I noticed the initialization for namespace mappings 
private Map<String,String> namespaceMappings = new HashMap<String,String>();
my question is why we create a Map variable instead of HashMap here? 
Further, if I'm going to have the getNamespaceMappings field, what type should I return? 
public Map<String,String> getNamespaceMappings() {
    return namespaceMappings;
}
or
public HashMap<String,String> getNamespaceMappings() {
    return (HashMap<String,String>) namespaceMappings;
}
or
public Map<String,String> getNamespaceMappings() {
    return (HashMap<String,String>) namespaceMappings;
}
 
     
    