@Nullable
    public XsltElement wrap(XmlTag tag) {
      final Class<? extends XsltElement> clazz;
      if (myClazz != null) {
        if (!StringUtil.toLowerCase(name()).equals(tag.getLocalName())) {
          return null;
        }
        clazz = myClazz;
      }
      else {
        try {
          clazz = valueOf(StringUtil.toUpperCase(tag.getLocalName())).myClazz;
        }
        catch (IllegalArgumentException e) {
          return null;
        }
      }
      return XsltElementFactory.getInstance().wrapElement(tag, clazz);
    }
@Nullable
    public XsltElement wrap(XmlTag tag)