diff --git a/platform/util/src/com/intellij/util/xmlb/AbstractCollectionBinding.java b/platform/util/src/com/intellij/util/xmlb/AbstractCollectionBinding.java index d179b9e09d0c..96793383561e 100644 --- a/platform/util/src/com/intellij/util/xmlb/AbstractCollectionBinding.java +++ b/platform/util/src/com/intellij/util/xmlb/AbstractCollectionBinding.java @@ -145,7 +145,16 @@ abstract class AbstractCollectionBinding implements Binding { @Override public Object deserialize(Object o, @NotNull Object... nodes) { Collection result; - if (getTagName(o) != null) { + if (getTagName(o) == null) { + result = new SmartList(); + for (Object node : nodes) { + if (!XmlSerializerImpl.isIgnoredNode(node)) { + //noinspection unchecked + result.add(getElementBinding(node).deserialize(o, node)); + } + } + } + else { assert nodes.length == 1; Element e = (Element)nodes[0]; result = createCollection(e.getName()); @@ -156,15 +165,6 @@ abstract class AbstractCollectionBinding implements Binding { } } } - else { - result = new SmartList(); - for (Object node : nodes) { - if (!XmlSerializerImpl.isIgnoredNode(node)) { - //noinspection unchecked - result.add(getElementBinding(node).deserialize(o, node)); - } - } - } return processResult(result, o); }