docs: private void doRehash(int new_table_size)
                      throws IOException,
                      EOFException,
                      FileManagerException,
                      ClassNotFoundException,
                      HashtableOnDiskException {
          //
          // Acquire the lock to prevent iteration while doubling
          //
          iterationLock.p();
  
          //
          // Step 0:
          // This should be our only exposure = for a short time we
          // will have allocated the new table but not stored its location
          // anywhere.  If we crash here we leak that storage permanently.
          //        
  
          long new_table = 0;
  
          header.setRehashFlag(1);
          new_table = filemgr.allocateAndClear(new_table_size * DWORDSIZE);
  
          header.initNewTable(new_table_size, new_table);
          PrimitiveArrayPool.PoolEntry longPoolEntry = this.htoddc.longArrayPool.allocate(new_table_size);
          new_htindex = (long[]) longPoolEntry.getArray();
          //new_htindex = new long[new_table_size];                                        
  
          Rehash rehash = new Rehash(this, new_table, new_table_size);
          Thread t = new Thread(rehash);
          t.start();
      }