protected static void checkChildIdValid(final int parentId,
                                          final int childId,
                                          final int childNo,
                                          final int maxAllocatedID) throws CorruptedException {
    if (childId < SUPER_ROOT_ID || maxAllocatedID < childId) {
      //RC: generally we throw IndexOutOfBoundsException for id out of bounds -- because this is just an invalid
      // argument, i.e. 'error on caller side'. But if VFS guts are the source of invalid id -- e.g. CHILDREN
      // -- it is not a caller error, but VFS corruption:
      throw new CorruptedException(
        "file[" + parentId + "].child[" + childNo + "][#" + childId + "] is out of valid/allocated id range" +
        " (" + SUPER_ROOT_ID + ".." + maxAllocatedID + "] " +
        "-> VFS is corrupted (was IDE forcibly terminated?)");
    }
  }
protected static void checkChildIdValid(final int parentId,
                                          final int childId,
                                          final int childNo,
                                          final int maxAllocatedID)