code: @Override
      public V get(Object key) {
          Segment<K,V> s; // manually integrate access methods to reduce overhead
          HashEntry<K,V>[] tab;
          int h = hash(key);
          long u = (((h >>> segmentShift) & segmentMask) << SSHIFT) + SBASE;
          if ((s = (Segment<K,V>)UNSAFE.getObjectVolatile(segments, u)) != null &&
              (tab = s.table) != null) {
              for (HashEntry<K,V> e = (HashEntry<K,V>) UNSAFE.getObjectVolatile
                       (tab, ((long)(((tab.length - 1) & h)) << TSHIFT) + TBASE);
                   e != null; e = e.next) {
                  K k;
                  if ((k = e.key) == key || (e.hash == h && key.equals(k))) {
                    return e.value;
                  }
              }
          }
          return null;
      }
docs: 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 {@code key.equals(k)},
  then this method returns {@code v}; otherwise it returns
  {@code null}.  (There can be at most one such mapping.)
  
  @throws NullPointerException if the specified key is null