@Override
  public TypeV   put        ( TypeK  key, TypeV val ) { return putIfMatch( key,      val, NO_MATCH_OLD); }
Maps the specified key to the specified value in the table.  Neither key
 nor value can be null.
 <p> The value can be retrieved by calling {@link #get} with a key that is
 equal to the original key.
 @param key key with which the specified value is to be associated
 @param val value to be associated with the specified key
 @return the previous value associated with <tt>key</tt>, or
         <tt>null</tt> if there was no mapping for <tt>key</tt>
 @throws NullPointerException if the specified key or value is null
jctools-core/src/main/java/org/jctools/maps/NonBlockingIdentityHashMap.java