public static <S extends CommonProgramRunConfigurationParameters> SettingsEditorFragment<S, ?> createEnvParameters() {
    EnvironmentVariablesComponent env = new EnvironmentVariablesComponent();
    env.setLabelLocation(BorderLayout.WEST);
    setMonospaced(env.getComponent().getTextField());
    SettingsEditorFragment<S, JComponent> fragment =
      new SettingsEditorFragment<>("environmentVariables", ExecutionBundle.message("environment.variables.fragment.name"),
                                   ExecutionBundle.message("group.operating.system"), env,
                                   (settings, c) -> env.reset(settings),
                                   (settings, c) -> {
                                     if (!env.isVisible()) {
                                       settings.setEnvs(Collections.emptyMap());
                                       settings.setPassParentEnvs(true);
                                     }
                                     else
                                       env.apply(settings);
                                   },
                                   Predicates.alwaysTrue());
    fragment.setCanBeHidden(true);
    fragment.setHint(ExecutionBundle.message("environment.variables.fragment.hint"));
    fragment.setActionHint(ExecutionBundle.message("set.custom.environment.variables.for.the.process"));
    fragment.addValidation(s -> checkEnvFiles(s));
    return fragment;
  }
public static <S extends CommonProgramRunConfigurationParameters> SettingsEditorFragment<S, ?> createEnvParameters()