Collection<DataNode<E>> (@NotNull Collection<? extends DataNode<E>> modules, @NotNull IdeModifiableModelsProvider modelsProvider) { Collection<DataNode<E>> result = new ArrayList<>(); for (DataNode<E> node : modules) { ModuleData moduleData = node.getData(); Module module = modelsProvider.findIdeModule(moduleData); if (module == null) { UnloadedModuleDescription unloadedModuleDescription = modelsProvider.getUnloadedModuleDescription(moduleData); if (unloadedModuleDescription == null) { result.add(node); } markExistedModulesWithSameRoot(node, modelsProvider); } else { node.putUserData(MODULE_KEY, module); } } return result; }