diff --git a/platform/lang-api/src/com/intellij/execution/configurations/RunConfigurationModule.java b/platform/lang-api/src/com/intellij/execution/configurations/RunConfigurationModule.java index 3d0df1bb7cb5..de230e2e8e0d 100644 --- a/platform/lang-api/src/com/intellij/execution/configurations/RunConfigurationModule.java +++ b/platform/lang-api/src/com/intellij/execution/configurations/RunConfigurationModule.java @@ -57,9 +57,11 @@ public class RunConfigurationModule implements JDOMExternalizable { @Override @SuppressWarnings({"unchecked"}) public void readExternal(@NotNull Element element) { - final List modules = element.getChildren(ELEMENT); - LOG.assertTrue(modules.size() <= 1); - if (modules.size() == 1) { + List modules = element.getChildren(ELEMENT); + if (!modules.isEmpty()) { + if (modules.size() > 1) { + LOG.warn("Module serialized more than one time"); + } // we are unable to set 'null' module from 'not null' one String moduleName = modules.get(0).getAttributeValue(ATTRIBUTE); if (!StringUtil.isEmpty(moduleName)) { @@ -70,7 +72,12 @@ public class RunConfigurationModule implements JDOMExternalizable { @Override public void writeExternal(@NotNull Element parent) { - parent.addContent(new Element(ELEMENT).setAttribute(ATTRIBUTE, getModuleName())); + Element prev = parent.getChild(ELEMENT); + if (prev == null) { + prev = new Element(ELEMENT); + parent.addContent(prev); + } + prev.setAttribute(ATTRIBUTE, getModuleName()); } public void init() {