void (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); } }