public Set entrySet() {
        HashMap copy = new HashMap();
        for (Iterator it = keySet().iterator(); it.hasNext();) {
            Object key = it.next();
            copy.put(key, get(key));
        }
        return Collections.unmodifiableMap(copy).entrySet();
    }
public Set entrySet ( ) { HashMap copy = new HashMap ( ) ; for ( Iterator it = keySet ( ) . iterator ( ) ; it . hasNext ( ) ; ) { Object key = it . next ( ) ; copy . put ( key , get ( key ) ) ; } return Collections . unmodifiableMap ( copy ) . entrySet ( ) ; }
TODO: optimize