code: void cacheHTIndex()
                      throws IOException {
          //htindex = new long[header.tablesize()];
          PrimitiveArrayPool.PoolEntry longPoolEntry = this.htoddc.longArrayPool.allocate(header.tablesize());
          htindex = (long[]) longPoolEntry.getArray();
          //byte[] tmp = new byte[header.tablesize() * DWORDSIZE];
          PrimitiveArrayPool.PoolEntry bytePoolEntry = this.htoddc.byteArrayPool.allocate(header.tablesize() * DWORDSIZE);
          byte[] tmp = (byte[]) bytePoolEntry.getArray();
  
          filemgr.seek(currentTable);
          filemgr.read(tmp);
          DataInputStream das = new DataInputStream(new ByteArrayInputStream(tmp));
          for (int i = 0; i < header.tablesize(); i++) {
              htindex[i] = das.readLong();
          }
          das.close();
  
          //tmp = null;
          this.htoddc.byteArrayPool.returnToPool(bytePoolEntry);
      }
docs: ***********************************************************************
  cacheHTIndex
  ***********************************************************************