XmlElementDescriptor[] (XmlElement context) { final Map<String,XmlElementDescriptor> map = new LinkedHashMap<>(5); XmlNSDescriptor descriptor = null; if (context instanceof XmlTag) { descriptor = ((XmlTag)context).getNSDescriptor(myDocumentDescriptor.getDefaultNamespace(), true); } processElements(createProcessor(map, descriptor instanceof XmlNSDescriptorImpl ? (XmlNSDescriptorImpl)descriptor : myDocumentDescriptor), map); return map.values().toArray(XmlElementDescriptor.EMPTY_ARRAY); }