boolean (@NotNull PresentationData presentation, @NotNull RunDashboardRunConfigurationNode node) { RunContentDescriptor descriptor = node.getDescriptor(); if (descriptor == null) return false; ExecutionConsole executionConsole = descriptor.getExecutionConsole(); if (!(executionConsole instanceof SMTRunnerConsoleView)) return false; SMTestRunnerResultsForm resultsViewer = ((SMTRunnerConsoleView)executionConsole).getResultsViewer(); Content content = node.getContent(); if (content != null && node instanceof AbstractTreeNode<?>) { NodeUpdaterEventsListener eventsListener = content.getUserData(EVENTS_LISTENER_KEY); if (eventsListener == null) { eventsListener = new NodeUpdaterEventsListener(); resultsViewer.addEventsListener(eventsListener); content.putUserData(EVENTS_LISTENER_KEY, eventsListener); NodeUpdaterEventsListener listener = eventsListener; Disposer.register(resultsViewer, () -> { if (content.getUserData(EVENTS_LISTENER_KEY) == listener) { content.putUserData(EVENTS_LISTENER_KEY, null); } }); } eventsListener.setNode((AbstractTreeNode<?>)node); } SMTestProxy.SMRootTestProxy rootNode = resultsViewer.getTestsRootNode(); TestTreeRenderer renderer = new TestTreeRenderer(resultsViewer.getProperties()); if (rootNode.isLeaf()) { TestsPresentationUtil.formatRootNodeWithoutChildren(rootNode, renderer); } else { TestsPresentationUtil.formatRootNodeWithChildren(rootNode, renderer); } if (renderer.getIcon() != null) { presentation.setIcon(renderer.getIcon()); } addTestSummary(presentation, rootNode); return true; }