public TypeV setValue(final TypeV val) {
      if( val == null ) throw new NullPointerException();
      _val = val;
      return put(_key, val);
    }
Returns a {@link Set} view of the keys contained in this map.  The set
 is backed by the map, so changes to the map are reflected in the set,
 and vice-versa.  The set supports element removal, which removes the
 corresponding mapping from this map, via the <tt>Iterator.remove</tt>,
 <tt>Set.remove</tt>, <tt>removeAll</tt>, <tt>retainAll</tt>, and
 <tt>clear</tt> operations.  It does not support the <tt>add</tt> or
 <tt>addAll</tt> operations.

 <p>The view's <tt>iterator</tt> is a "weakly consistent" iterator that
 will never throw {@link ConcurrentModificationException}, and guarantees
 to traverse elements as they existed upon construction of the iterator,
 and may (but is not guaranteed to) reflect any modifications subsequent
 to construction.
jctools-core/src/main/java/org/jctools/maps/NonBlockingIdentityHashMap.java