code: @Override
      public final V replace(K key, V value) {
          long hash, allocIndex;
          Segment<K, V> segment;
          V oldValue;
          if ((allocIndex = (segment = segment(segmentIndex(hash = keyHashCode(key))))
                  .find(this, hash, key)) > 0) {
              oldValue = segment.readValue(allocIndex);
              segment.writeValue(allocIndex, value);
              return oldValue;
          }
          return null;
      }
docs: Replaces the entry for the specified key only if it is currently mapped to some value.
  
  @param key key with which the specified value is associated
  @param value value to be associated with the specified key
  @return the previous value associated with the specified key, or {@code null} if there was no
  mapping for the key. (A {@code null} return can also indicate that the map previously
  associated {@code null} with the key.)