@Override
public void writeExternal(Element element) throws WriteExternalException {
super.writeExternal(element);
JDOMExternalizerUtil.writeField(element, "INTERPRETER_OPTIONS", interpreterOptions);
JDOMExternalizerUtil.writeField(element, "INTERPRETER_PATH", interpreterPath);
JDOMExternalizerUtil.writeField(element, "PROJECT_INTERPRETER", Boolean.toString(useProjectInterpreter));
JDOMExternalizerUtil.writeField(element, "WORKING_DIRECTORY", workingDirectory);
JDOMExternalizerUtil.writeField(element, "PARENT_ENVS", Boolean.toString(isPassParentEnvs()));
JDOMExternalizerUtil.writeField(element, "SCRIPT_NAME", scriptName);
JDOMExternalizerUtil.writeField(element, "PARAMETERS", getProgramParameters());
DefaultJDOMExternalizer.writeExternal(this, element);
writeModule(element);
EnvironmentVariablesComponent.writeExternal(element, getEnvs());
PathMacroManager.getInstance(getProject()).collapsePathsRecursively(element);
}