code: boolean addCode(int code, byte []minKey, byte []maxKey, int pid)
    {
      int len = minKey.length + maxKey.length + 5;
      
      int index = getIndex() - len;
      
      int ptr = index;
      
      if (ptr < 0) {
        return false;
      }
      
      byte []buffer = getBuffer();
      
      buffer[ptr] = (byte) code;
      ptr += 1;
      
      System.arraycopy(minKey, 0, buffer, ptr, minKey.length);
      ptr += minKey.length;
      
      System.arraycopy(maxKey, 0, buffer, ptr, maxKey.length);
      ptr += maxKey.length;
  
      BitsUtil.writeInt(buffer, ptr, pid);
      
      setIndex(index);
  
      /*
      System.out.println("ADDC: " + code + " " + pid
                         + " " + Hex.toShortHex(minKey)
                         + " " + Hex.toShortHex(maxKey));
                         */
      
      return true;
    }
docs: /*
  boolean remove(byte []minKey, byte []maxKey)
  {
  int len = minKey.length + maxKey.length + 9;
  
  byte []buffer = getBuffer();
  
  boolean isRemove = false;
  
  int minOffset = 1;
  int maxOffset = minOffset + minKey.length;
  
  for (int ptr = getIndex(); ptr < BLOCK_SIZE; ptr += len) {
  if (compareKey(minKey, buffer, ptr + minOffset) == 0
  && compareKey(maxKey, buffer, ptr + maxOffset) == 0) {
  buffer[ptr] = REMOVE;
  isRemove = true;
  }
  }
  
  return isRemove;
  }