code: public boolean replace(K key, V oldValue, V newValue) {
          if (oldValue == null || newValue == null) {
              throw new NullPointerException();
          }
          int hash = this.hashOf(key);
          return this.segmentFor(hash).replace(key, hash, oldValue, newValue);
      }
docs: {@inheritDoc}
  
  @throws NullPointerException
  if any of the arguments are null