} else if (localName.equals("attribute"))
} else if (localName.equals("attribute")) {
	public void endElement(String namespaceURI, String localName, String qName)		throws SAXException {		if (inModification && charBuf.length() > 0) {			final String normalized =				charBuf.getNormalizedString(FastStringBuffer.SUPPRESS_BOTH);			if (normalized.length() > 0) {				Text text = doc.createTextNode(normalized);				if (stack.isEmpty()) {					contents.add(text);				} else {					Element last = (Element) stack.peek();					last.appendChild(text);				}			}			charBuf.setLength(0);		}		if (namespaceURI.equals(XUPDATE_NS)) {			if (localName.equals("element")) {				stack.pop();			} else if (localName.equals("attribute"))				inAttribute = false;			if (localName.equals("append")				|| localName.equals("update")				|| localName.equals("remove")				|| localName.equals("rename")				|| localName.equals("insert-before")				|| localName.equals("insert-after")) {				inModification = false;				modification.setContent(contents);				modifications.add(modification);				modification = null;			}		} else if (inModification)			stack.pop();	}