@Override
    public final V get(Object key) {
        long hash, allocIndex;
        Segment<K, V> segment;
        return (allocIndex = (segment = segment(segmentIndex(hash = keyHashCode(key))))
                .find(this, hash, key)) > 0 ?
                segment.readValue(allocIndex) : null;
    }
@ Override public final V get ( Object key ) { long hash , allocIndex ; Segment < K , V > segment ; return ( allocIndex = ( segment = segment ( segmentIndex ( hash = keyHashCode ( key ) ) ) ) . find ( this , hash , key ) ) > 0 ? segment . readValue ( allocIndex ) : null ; }
Returns the value to which the specified key is mapped, or {@code null} if this map contains
no mapping for the key.

<p>More formally, if this map contains a mapping from a key {@code k} to a value {@code v}
such that {@link #keysEqual(Object, Object) keysEqual(key, k)}{@code == true}, then this
method returns {@code v}; otherwise it returns {@code null}. (There can be at most one such
mapping.)

<p>A return value of {@code null} does not <i>necessarily</i> indicate that the map contains
no mapping for the key; it's also possible that the map explicitly maps the key to {@code
null}. The {@link #containsKey containsKey} operation may be used to distinguish these two
cases.

@param key the key whose associated value is to be returned
@return the value to which the specified key is mapped, or
{@code null} if this map contains no mapping for the key