@Override
      protected void tagStarted(XmlTag tag, String tagName, XmlTag context, XmlTag ref) {
        addElementDescriptor(tag, tagName, map, null, myDocumentDescriptor);
        if ("extension".equals(tagName)) {
          String base = tag.getAttributeValue("base");
          if (base != null) {
            TypeDescriptor descriptor = myRedefinedNSDescriptor.findTypeDescriptor(base);
            if (descriptor instanceof ComplexTypeDescriptor) {
              XmlElementDescriptor[] elements = ((ComplexTypeDescriptor)descriptor).getElements(null);
              for (XmlElementDescriptor element : elements) {
                addElementDescriptor(map, element, null);
              }
            }
          }
        }
      }
@Override
      protected void tagStarted(XmlTag tag, String tagName, XmlTag context, XmlTag ref)