int @NotNull [] listIds(final int fileId) throws IOException {
    PersistentFSConnection.ensureIdIsValid(fileId);
    if (fileId == SUPER_ROOT_ID) {
      throw new AssertionError(
        "Incorrect call .listIds() with is a super-root record id(=" + SUPER_ROOT_ID + ") -- use .listRoots() instead");
    }

    try (final DataInputStream input = attributeAccessor.readAttribute(fileId, CHILDREN_ATTR)) {
      if (input == null) return ArrayUtilRt.EMPTY_INT_ARRAY;

      final PersistentFSRecordsStorage records = connection.getRecords();
      final int maxID = records.maxAllocatedID();

      final int count = DataInputOutputUtil.readINT(input);
      final int[] children = ArrayUtil.newIntArray(count);
      int prevId = fileId;
      for (int i = 0; i < count; i++) {
        prevId = children[i] = DataInputOutputUtil.readINT(input) + prevId;
        checkChildIdValid(fileId, prevId, i, maxID);
      }
      return children;
    }
  }
int @NotNull [] listIds(final int fileId)