docs: long put(long key, long value) {
          assert key != 0;
          long k = key;
          long[] tab = table;
          int len = tab.length;
          int i = hash(k, len);
  
          long item;
          while ( (item = tab[i]) != 0) {
              if (item == k) {
                  long oldValue = tab[i + 1];
                  tab[i + 1] = value;
                  return oldValue;
              }
              i = nextKeyIndex(i, len);
          }
  
          modCount++;
          tab[i] = k;
          tab[i + 1] = value;
          if (++size >= threshold)
              resize(len); // len == 2 * current capacity.
          return 0;
      }