boolean (@NotNull ExecutionNode node) { String nodeConsoleViewName = getNodeConsoleViewName(node); myNodeConsoleViewName.set(nodeConsoleViewName); ExecutionConsole view = myView.getView(nodeConsoleViewName); if (view != null) { List<Consumer<? super BuildTextConsoleView>> deferredOutput = deferredNodeOutput.get(nodeConsoleViewName); if (view instanceof BuildTextConsoleView && deferredOutput != null && !deferredOutput.isEmpty()) { deferredNodeOutput.remove(nodeConsoleViewName); deferredOutput.forEach(consumer -> consumer.accept((BuildTextConsoleView)view)); } else { deferredNodeOutput.remove(nodeConsoleViewName); } myView.showView(nodeConsoleViewName, false); if (view instanceof PresentableBuildEventExecutionConsole) { showCustomConsoleToolbarActions(((PresentableBuildEventExecutionConsole)view).myActions); } else { showTextConsoleToolbarActions(); } myPanel.setVisible(true); return true; } List<Consumer<? super BuildTextConsoleView>> deferredOutput = deferredNodeOutput.get(nodeConsoleViewName); if (deferredOutput != null && !deferredOutput.isEmpty()) { BuildTextConsoleView textConsoleView = new BuildTextConsoleView(myProject, true, myExecutionConsoleFilters); deferredNodeOutput.remove(nodeConsoleViewName); deferredOutput.forEach(consumer -> consumer.accept(textConsoleView)); myView.addView(textConsoleView, nodeConsoleViewName); myView.showView(nodeConsoleViewName, false); } else { myView.showView(EMPTY_CONSOLE_NAME, false); return true; } return true; }