@Override
  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");
    }

    final int[] childrenIds = attributeAccessor.readAttributeRaw(fileId, CHILDREN_ATTR, buffer -> {
      final int count = DataInputOutputUtil.readINT(buffer);
      final int[] result = ArrayUtil.newIntArray(count);
      int prevId = fileId;
      final int maxID = connection.getRecords().maxAllocatedID();
      for (int i = 0; i < count; i++) {
        prevId = result[i] = DataInputOutputUtil.readINT(buffer) + prevId;
        checkChildIdValid(fileId, prevId, i, maxID);
      }
      return result;
    });
    if (childrenIds == null) {
      return ArrayUtilRt.EMPTY_INT_ARRAY;
    }
    return childrenIds;
  }
@Override
  int @NotNull [] listIds(final int fileId)