private @NotNull Promise<Node> promiseChildren(@NotNull Node node) {
    if (disposed) return rejectedPromise();
    return node.queue.promise(this::submit, () -> {
      var cachedNodes = getChildrenFromCachedPresentation(node);
      if (cachedNodes != null) {
        node.setChildren(cachedNodes);
      }
      else if (showLoadingNode) {
        node.setLoading(new Node(new LoadingNode(), LeafState.ALWAYS));
      }
      else {
        node.setLoading(null);
      }
      return new CmdGetChildren("Load children", node, false);
    });
  }
private @NotNull Promise<Node> promiseChildren(@NotNull Node node)