code: @Override
      public boolean replace(K key, V oldValue, V newValue) {
          int hash = hash(key);
          if (oldValue == null || newValue == null) {
            throw new NullPointerException();
          }
          Segment<K,V> s = segmentForHash(hash);
          return s != null && s.replace(key, hash, oldValue, newValue);
      }
docs: {@inheritDoc}
  
  @throws NullPointerException if any of the arguments are null