@NotNull
  private Collection<DataNode<E>> filterExistingModules(@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;
  }
@NotNull
  private Collection<DataNode<E>> filterExistingModules(@NotNull Collection<? extends DataNode<E>> modules,
                                                        @NotNull IdeModifiableModelsProvider modelsProvider)