code: public V replace(K key, V val) {
         // synchronized( this ) {
              if( !containsKey(key) ) {
                  return null;
              }
              return put(key, val);
          //}
      }
docs: Replaces the specified key only if it has some current value.
  @param key the key to replace
  @param val the new value
  @return whatever is stored in the cache for the key when the operation completes