docs: protected Entry<K, V> insertNewEntry(K key, int hc, int val) {
      Entry<K,V> e = new Entry<K,V>(extractIntKeyObj(key), val);
      Entry<K, V> e2;
      final OptimisticLock l = hash.getSegmentLock(hc);
      final long _stamp = l.writeLock();
      boolean _needsEviction = false;
      try {
        e2 = hash.insertWithinLock(e, hc, val);
        if (e == e2) {
          _needsEviction = eviction.submitWithoutEviction(e);
        }
      } finally {
        l.unlockWrite(_stamp);
      }
      if (_needsEviction) {
        eviction.evictEventually(hc);
      }
      hash.checkExpand(hc);
      return e2;
    }