web-common/src/main/java/org/jboss/as/web/common/ConcurrentReferenceHashMap.java
public V put(K key, V value) {
        if (value == null)
            throw new NullPointerException();
        int hash = hashOf(key);
        return segmentFor(hash).put(key, hash, value, false);
    }
public V put(K key, V value) {
        if (value == null)
            throw new NullPointerException();
        int hash = hashOf(key);
        return segmentFor(hash).put(key, hash, value, false);
    }
public V put ( K key , V value ) { if ( value == null ) throw new NullPointerException ( ) ; int hash = hashOf ( key ) ; return segmentFor ( hash ) . put ( key , hash , value , false ) ; }
Maps the specified key to the specified value in this table.
Neither the key nor the value can be null.

<p> The value can be retrieved by calling the <tt>get</tt> method
with a key that is equal to the original key.

@param key key with which the specified value is to be associated
@param value 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
Maps the specified key to the specified value in this table . Neither the key nor the value can be null .