@Override
  public void importData(@NotNull Collection<? extends DataNode<ProjectData>> toImport,
                         @Nullable ProjectData projectData,
                         final @NotNull Project project,
                         @NotNull IdeModifiableModelsProvider modelsProvider) {
    // root project can be marked as ignored
    if (toImport.isEmpty()) {
      return;
    }

    if (toImport.size() != 1) {
      throw new IllegalArgumentException(String.format("Expected to get a single project but got %d: %s", toImport.size(), toImport));
    }
    DataNode<ProjectData> node = toImport.iterator().next();
    assert projectData == node.getData();

    if (!ExternalSystemApiUtil.isOneToOneMapping(project, node.getData(), modelsProvider.getModules())) {
      return;
    }
    
    if (!project.getName().equals(projectData.getInternalName())) {
      renameProject(projectData.getInternalName(), projectData.getOwner(), project);
    }
  }
@Override
  public void importData(@NotNull Collection<? extends DataNode<ProjectData>> toImport,
                         @Nullable ProjectData projectData,
                         final @NotNull Project project,
                         @NotNull IdeModifiableModelsProvider modelsProvider)