@Override
  public void importData(@NotNull Collection<? extends DataNode<E>> toImport,
                         @Nullable ProjectData projectData,
                         @NotNull Project project,
                         @NotNull IdeModifiableModelsProvider modelsProvider) {
    if (toImport.isEmpty()) {
      return;
    }

    MultiMap<DataNode<ModuleData>, DataNode<E>> byModule = ExternalSystemApiUtil.groupBy(toImport, ModuleData.class);
    for (Map.Entry<DataNode<ModuleData>, Collection<DataNode<E>>> entry : byModule.entrySet()) {
      final DataNode<ModuleData> moduleDataNode = entry.getKey();
      Module module = modelsProvider.findIdeModule(moduleDataNode.getData());
      if (module == null) {
        LOG.warn(String.format(
          "Can't import dependencies %s. Reason: target module (%s) is not found at the ide and can't be imported",
          entry.getValue(), moduleDataNode
        ));
        continue;
      }

      final Map<OrderEntry, OrderAware> moduleDependenciesOrder = importData(entry.getValue(), module, modelsProvider);
      final Map<OrderEntry, OrderAware> orderEntryDataMap = moduleDataNode.getUserData(AbstractModuleDataService.ORDERED_DATA_MAP_KEY);
      if(orderEntryDataMap != null) {
        orderEntryDataMap.putAll(moduleDependenciesOrder);
      } else {
        moduleDataNode.putUserData(AbstractModuleDataService.ORDERED_DATA_MAP_KEY, moduleDependenciesOrder);
      }
    }
  }
@Override
  public void importData(@NotNull Collection<? extends DataNode<E>> toImport,
                         @Nullable ProjectData projectData,
                         @NotNull Project project,
                         @NotNull IdeModifiableModelsProvider modelsProvider)