@Override
  public void setupRootModel(@NotNull final ModifiableRootModel modifiableRootModel) throws ConfigurationException {
    String contentEntryPath = getContentEntryPath();
    if (StringUtil.isEmpty(contentEntryPath)) {
      return;
    }
    File contentRootDir = new File(contentEntryPath);
    FileUtilRt.createDirectory(contentRootDir);
    LocalFileSystem fileSystem = LocalFileSystem.getInstance();
    VirtualFile modelContentRootDir = fileSystem.refreshAndFindFileByIoFile(contentRootDir);
    if (modelContentRootDir == null) {
      return;
    }

    modifiableRootModel.addContentEntry(modelContentRootDir);

    Project project = modifiableRootModel.getProject();
    Module module = modifiableRootModel.getModule();
    if (myParentProject != null) {
      rootProjectPath = Paths.get(myParentProject.getLinkedExternalProjectPath());
    }
    else {
      rootProjectPath = isCreatingNewProject ? Paths.get(Objects.requireNonNull(project.getBasePath())) : modelContentRootDir.toNioPath();
    }

    if (isCreatingBuildScriptFile) {
      buildScriptFile = setupGradleBuildFile(modelContentRootDir);
    }

    settingsScriptFile = setupGradleSettingsFile(
      rootProjectPath, modelContentRootDir, project.getName(),
      myProjectId == null ? module.getName() : myProjectId.getArtifactId(),
      isCreatingNewLinkedProject(),
      myUseKotlinDSL
    );

    if (isCreatingBuildScriptFile) {
      buildScriptBuilder = GradleBuildScriptBuilder.create(gradleVersion, myUseKotlinDSL);
      buildScriptConfigurators.forEach(it -> it.accept(buildScriptBuilder));

      var scriptDataBuilder = new BuildScriptDataBuilder(buildScriptFile, buildScriptBuilder);
      modifiableRootModel.getModule().putUserData(BUILD_SCRIPT_DATA, scriptDataBuilder);
    }
  }
@Override
  public void setupRootModel(@NotNull final ModifiableRootModel modifiableRootModel)