QName (XmlTag tag) { //todo don't use intern to not pollute PermGen String namespace = tag.getNamespace(); return new QName(tag.getNamespacePrefix().intern(), tag.getLocalName().intern(), tag.getName().intern(), namespace.isEmpty() ? null : namespace.intern()); }