code: int appendSlot(int w0, int w1, int w2, int w3)
    {
      /*
      try
      {
        int newoffset = (lastUsed+1)*slotsize;
        fastArray[newoffset] = w0;
        fastArray[newoffset+1] = w1;
        fastArray[newoffset+2] = w2;
        fastArray[newoffset+3] = w3;
        return ++lastUsed;
      }
      catch(ArrayIndexOutOfBoundsException aioobe)
      */
      {
        final int slotsize=4;
        int newoffset = (lastUsed+1)*slotsize;
        int chunkpos = newoffset >> lowbits;
        int slotpos = (newoffset & lowmask);
  
        // Grow if needed
        if (chunkpos > chunks.size() - 1)
          chunks.addElement(new int[chunkalloc]);
        int[] chunk = chunks.elementAt(chunkpos);
        chunk[slotpos] = w0;
        chunk[slotpos+1] = w1;
        chunk[slotpos+2] = w2;
        chunk[slotpos+3] = w3;
  
        return ++lastUsed;
      }
    }
docs: Append a 4-integer record to the CIA, starting with record 1. (Since
  arrays are initialized to all-0, 0 has been reserved as the "unknown"
  value in DTM.)
  @return the index at which this record was inserted.