@Override
  protected List<SettingsEditorFragment<T, ?>> createRunFragments() {
    List<SettingsEditorFragment<T, ?>> fragments = new ArrayList<>();
    BeforeRunComponent beforeRunComponent = new BeforeRunComponent(this);
    fragments.add(BeforeRunFragment.createBeforeRun(beforeRunComponent, CompileStepBeforeRun.ID));
    fragments.addAll(BeforeRunFragment.createGroup());

    SettingsEditorFragment<T, ModuleClasspathCombo> moduleClasspath = CommonJavaFragments.moduleClasspath();
    ModuleClasspathCombo classpathCombo = moduleClasspath.component();
    Computable<Boolean> hasModule = () -> classpathCombo.getSelectedModule() != null;

    fragments.add(CommonTags.parallelRun());

    CommonParameterFragments<T> commonParameterFragments = new CommonParameterFragments<>(getProject(), () -> classpathCombo.getSelectedModule());
    fragments.addAll(commonParameterFragments.getFragments());
    fragments.add(CommonJavaFragments.createBuildBeforeRun(beforeRunComponent, this));

    fragments.add(moduleClasspath);
    fragments.add(new ClasspathModifier<>(mySettings));
    customizeFragments(fragments, moduleClasspath, commonParameterFragments);
    SettingsEditorFragment<T, ?> jrePath = ContainerUtil.find(fragments, f -> CommonJavaFragments.JRE_PATH.equals(f.getId()));
    JrePathEditor jrePathEditor = jrePath != null && jrePath.getComponent() instanceof JrePathEditor editor ? editor : null;
    SettingsEditorFragment<T, ?> vmParameters = CommonJavaFragments.vmOptionsEx(mySettings, hasModule, jrePathEditor);
    fragments.add(vmParameters);

    fragments.add(new LogsGroupFragment<>());
    return fragments;
  }
@Override
  protected List<SettingsEditorFragment<T, ?>> createRunFragments()