void (@NotNull Project project, Change @NotNull [] changes, @NotNull String title, @NotNull DataContext dataContext) { DiscoveredTestsTree tree = showTree(project, dataContext, title, ActionPlaces.UNKNOWN); FeatureUsageTracker.getInstance().triggerFeatureUsed("test.discovery.selected.changes"); tree.getEmptyText().setText(CommonBundle.message("tree.node.loading")); ApplicationManager.getApplication().executeOnPooledThread(() -> { PsiMethod[] methods = findMethods(project, changes); List<String> filePaths = getRelativeAffectedPaths(project, Arrays.asList(changes)); processMethodsAsync(project, methods, filePaths, createTreeProcessor(tree), () -> { tree.setPaintBusy(false); tree.getEmptyText().setText(ExecutionBundle.message("no.tests.captured.for.0", title)); }); }); }