@ApiStatus.Internal
  public static Promise<List<TreePath>> promiseVisit(@NotNull JTree tree,
                                                        @NotNull Stream<? extends TreeVisitor> visitors,
                                                        @Nullable Consumer<? super List<TreePath>> consumer) {
    AsyncPromise<List<TreePath>> promise = new AsyncPromise<>();
    return promiseVisitAll(tree, visitors, promise, visitor -> promiseVisit(tree, visitor), consumer);
  }
@ApiStatus.Internal
  public static Promise<List<TreePath>> promiseVisit(@NotNull JTree tree,
                                                        @NotNull Stream<? extends TreeVisitor> visitors,
                                                        @Nullable Consumer<? super List<TreePath>> consumer)