@Override public V put(K key,V value){
  V oldValue=super.put(key,value);
  return (oldValue == null) ? delegate.get(key) : oldValue;
}

@ Override public V put ( K key , V value ) { V oldValue = super . put ( key , value ) ; return ( oldValue == null ) ? delegate . get ( key ) : oldValue ; }
adds the key and value to the local map , potentially overshadowing a version in the delegate map .
