XsltElement (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); }