Use IdentityHashMaps when the key is not a String
Add some javadoc