@Override
  public void apply() throws ConfigurationException {
    if (myIsDownloading) return;

    if (!Objects.equals(myInitialName, myModifiedName)) {
      if (myModifiedName.isEmpty()) {
        throw new ConfigurationException(ProjectBundle.message("sdk.list.name.required.error"));
      }
    }
    myInitialName = myModifiedName;
    myInitialPath = mySdk.getHomePath();
    SdkModificator sdkModificator = mySdk.getSdkModificator();
    sdkModificator.setName(myModifiedName);
    sdkModificator.setHomePath(FileUtil.toSystemIndependentName(getHomeValue()));
    for (SdkPathEditor pathEditor : myPathEditors.values()) {
      pathEditor.apply(sdkModificator);
    }
    ApplicationManager.getApplication().runWriteAction(sdkModificator::commitChanges);
    for (final AdditionalDataConfigurable configurable : getAdditionalDataConfigurable()) {
      if (configurable != null) {
        configurable.apply();
      }
    }
  }
@Override
  public void apply()