void (Project project, List<ThreadState> threads, RunnerLayoutUi ui, GlobalSearchScope searchScope) { final TextConsoleBuilder consoleBuilder = TextConsoleBuilderFactory.getInstance().createBuilder(project); consoleBuilder.filters(ExceptionFilters.getFilters(searchScope)); final ConsoleView consoleView = consoleBuilder.getConsole(); final DefaultActionGroup toolbarActions = new DefaultActionGroup(); consoleView.allowHeavyFilters(); final ThreadDumpPanel panel = new ThreadDumpPanel(project, consoleView, toolbarActions, threads); String id = JavaDebuggerBundle.message("thread.dump.name", DateFormatUtil.formatTimeWithSeconds(System.currentTimeMillis())); final Content content = ui.createContent(id + " " + myThreadDumpsCount, panel, id, null, null); content.putUserData(RunnerContentUi.LIGHTWEIGHT_CONTENT_MARKER, Boolean.TRUE); content.setCloseable(true); content.setDescription(JavaDebuggerBundle.message("thread.dump")); content.putUserData(ToolWindowContentExtractor.SYNC_TAB_TO_GUEST, true); ui.addContent(content); ui.selectAndFocus(content, true, true); myThreadDumpsCount++; Disposer.register(content, consoleView); ui.selectAndFocus(content, true, false); if (!threads.isEmpty()) { panel.selectStackFrame(0); } }