code: @Override
      public V get(Object key) {
  	HashMapPro.Entry<K, V> e = getEntry(key);
  	if (e == null) return null;
  	e.recordAccess(this);
  	return e.value;
      }
docs: Returns the value to which the specified key is mapped, or {@code null} if this map contains no
  mapping for the key.
  
  <p>
  More formally, if this map contains a mapping from a key {@code k} to a value {@code v} such that
  {@code (key==null ? k==null :
  key.equals(k))}, then this method returns {@code v}; otherwise it returns {@code null}. (There
  can be at most one such mapping.)
  
  <p>
  A return value of {@code null} does not <i>necessarily</i> indicate that the map contains no
  mapping for the key; it's also possible that the map explicitly maps the key to {@code null}. The
  {@link #containsKey containsKey} operation may be used to distinguish these two cases.