Module (Collection<? extends Module> survivedModules, Project project) { ModuleManager moduleManager = ModuleManager.getInstance(project); final Set<Module> allModules = ContainerUtil.newHashSet(moduleManager.getModules()); survivedModules .forEach(module -> { final List<Module> dependentModules = ModuleUtilCore.getAllDependentModules(module); dependentModules.add(module); allModules.retainAll(dependentModules); }); if (!allModules.isEmpty()) { Module aModule = allModules.iterator().next(); for (Module module : survivedModules) { if (allModules.contains(module)) { aModule = module; } } return aModule; } return null; }