void (final @NotNull Collection<? extends DataNode<E>> toImport, @Nullable ProjectData projectData, @NotNull final Project project, @NotNull IdeModifiableModelsProvider modelsProvider) { if (toImport.isEmpty()) { return; } final Collection<DataNode<E>> toCreate = filterExistingModules(toImport, modelsProvider); if (!toCreate.isEmpty()) { createModules(toCreate, modelsProvider); } for (DataNode<E> node : toImport) { Module module = node.getUserData(MODULE_KEY); if (module != null) { ProjectCoordinate publication = node.getData().getPublication(); if (publication != null) { modelsProvider.registerModulePublication(module, publication); } String productionModuleId = node.getData().getProductionModuleId(); modelsProvider.setTestModuleProperties(module, productionModuleId); setModuleOptions(module, node); ModifiableRootModel modifiableRootModel = modelsProvider.getModifiableRootModel(module); syncPaths(module, modifiableRootModel, node.getData()); EP_NAME.forEachExtensionSafe(extension -> extension.importModule(modelsProvider, module, node.getData())); importModuleSdk(modifiableRootModel, node.getData()); } } for (DataNode<E> node : toImport) { Module module = node.getUserData(MODULE_KEY); if (module != null) { final String[] groupPath; groupPath = node.getData().getIdeModuleGroup(); final ModifiableModuleModel modifiableModel = modelsProvider.getModifiableModuleModel(); modifiableModel.setModuleGroupPath(module, groupPath); } } }