void () { final CyclicDependenciesBuilder builder = new CyclicDependenciesBuilder(myProject, myScope); final Runnable successRunnable = () -> SwingUtilities.invokeLater(() -> { CyclicDependenciesPanel panel = new CyclicDependenciesPanel(myProject, builder); Content content = ContentFactory.getInstance().createContent(panel, JavaBundle.message( "action.analyzing.cyclic.dependencies.in.scope", builder.getScope().getDisplayName()), false); content.setDisposer(panel); panel.setContent(content); DependenciesToolWindow.getInstance(myProject).addContent(content); }); ProgressManager.getInstance() .runProcessWithProgressAsynchronously(myProject, CodeInsightBundle.message("package.dependencies.progress.title"), () -> builder.analyze(), successRunnable, null, new PerformAnalysisInBackgroundOption(myProject)); }