private void collectIdsFromSubtree(boolean[] idMap, int nodeOffset) {
    int children = myData[nodeOffset + 2];
    int ids = myData[nodeOffset + 3 + children];
    for (int i = 0; i < ids; i++) {
      int id = myData[nodeOffset + 4 + children + i];
      idMap[id] = true;
    }
    for (int i = 0; i < children; i++) {
      int child = myData[nodeOffset + 3 + i];
      collectIdsFromSubtree(idMap, child);
    }
  }
private void collectIdsFromSubtree(boolean[] idMap, int nodeOffset)