void (ContentManager contentManager, ServiceView mainView) { Content mainContent = ContentFactory.getInstance().createContent(mainView, null, false); mainContent.putUserData(ToolWindow.SHOW_CONTENT_ICON, Boolean.TRUE); mainContent.setHelpId(getToolWindowContextHelpId()); mainContent.setCloseable(false); Disposer.register(mainContent, mainView); Disposer.register(mainContent, mainView.getModel()); contentManager.addContent(mainContent); mainView.getModel().addModelListener(() -> { boolean isEmpty = mainView.getModel().getRoots().isEmpty(); AppUIExecutor.onUiThread().expireWith(contentManager).submit(() -> { if (isEmpty) { if (contentManager.getIndexOfContent(mainContent) < 0) { if (contentManager.getContentCount() == 0) { contentManager.addContent(mainContent, 0); } } else if (contentManager.getContentCount() > 1) { contentManager.removeContent(mainContent, false); } } else { if (contentManager.getIndexOfContent(mainContent) < 0) { contentManager.addContent(mainContent, 0); } } }); }); }