code: public final Set<K> keySet() {
  	return new AbstractSet<K>() {
  	    public Iterator<K> iterator() {
  		final Iterator<Map.Entry<K,V>> ite = entryIterator();
  		return new Iterator<K>() {
  		    public boolean hasNext() { return ite.hasNext(); }
  		    public void    remove()  { ite.remove(); }
  		    public K       next()    { return ite.next().getKey(); }
  		};
  	    }
  	    public int size() {
  		return size;
  	    }
  	};
      }
docs: Returns an unmodifiable set view of the keys contained in this map.