private static @NotNull Promise<TreePath> promiseMakeVisible(@NotNull JTree tree, @NotNull TreeVisitor visitor, @NotNull AsyncPromise<?> promise) {
    MakeVisibleVisitor makeVisibleVisitor =
      !(tree.getModel() instanceof TreeVisitor.Acceptor) && Tree.isBulkExpandCollapseSupported()
      ? new BulkMakeVisibleVisitor(tree, visitor, promise)
      : new BackgroundMakeVisibleVisitor(tree, visitor, promise);
    if (tree instanceof Tree jbTree) {
      jbTree.suspendExpandCollapseAccessibilityAnnouncements();
    }
    return promiseVisit(tree, makeVisibleVisitor).onProcessed(path -> {
      makeVisibleVisitor.finish();
    });
  }
private static @NotNull Promise<TreePath> promiseMakeVisible(@NotNull JTree tree, @NotNull TreeVisitor visitor, @NotNull AsyncPromise<?> promise)