List<Module> (@NotNull ModuleStructureConfigurable rootConfigurable, final @Nullable LibraryKind kind, @Nullable Library library) { final List<Module> modules = new ArrayList<>(); LibraryType type = kind == null ? null : LibraryType.findByKind(kind); for (Module module : rootConfigurable.getModules()) { if (type != null && !type.isSuitableModule(module, rootConfigurable.getFacetConfigurator())) { continue; } if (library != null) { final ModuleRootModel rootModel = rootConfigurable.getContext().getModulesConfigurator().getRootModel(module); if (!getNotAddedSuitableLibrariesCondition(rootModel, rootConfigurable.getFacetConfigurator()).test(library)) { continue; } } modules.add(module); } return modules; }