void (Notification notification) { List<? extends DetectedFrameworkDescription> descriptions; try { descriptions = getValidDetectedFrameworks(); } catch (IndexNotReadyException e) { DumbService.getInstance(myProject) .showDumbModeNotificationForFunctionality( LangBundle.message("popup.content.information.about.detected.frameworks"), DumbModeBlockedFunctionality.FrameworkDetection); return; } if (descriptions.isEmpty()) { Messages.showInfoMessage(myProject, LangBundle.message("dialog.message.no.frameworks.are.detected"), LangBundle.message("dialog.title.framework.detection")); return; } final ConfigureDetectedFrameworksDialog dialog = new ConfigureDetectedFrameworksDialog(myProject, descriptions); if (dialog.showAndGet()) { notification.expire(); List<DetectedFrameworkDescription> selected = dialog.getSelectedFrameworks(); FrameworkDetectionUtil.setupFrameworks(selected, new PlatformModifiableModelsProvider(), new DefaultModulesProvider(myProject)); for (DetectedFrameworkDescription description : selected) { final @NotNull String detectorId = description.getDetector().getDetectorId(); myDetectedFrameworksData.putExistentFrameworkFiles(detectorId, description.getRelatedFiles()); } } }