charBuf.setLength(0);
	public void endElement(String namespace, String name, String qname) {		//		if(namespace != null && namespace.length() > 0 &&		//			qname.indexOf(':') < 0)		//			qname = '#' + namespace + ':' + qname;		final ElementImpl last = (ElementImpl) stack.peek();		if (last.getNodeName().equals(qname)) {			if (charBuf != null && charBuf.length() > 0) {				final String normalized = charBuf.getNormalizedString(normalize);				if (normalized.length() > 0) {					//TextImpl text =					//    new TextImpl( normalized );					text.setData(normalized);					text.setOwnerDocument(document);					charBuf.setLength(0);					//charBuf = new FastStringBuffer( 6, 6, 3 );					last.appendChildInternal(text);					if (!validate)						broker.store(text, currentPath.toString());					text.clear();				}			}			stack.pop();			currentPath.delete(currentPath.lastIndexOf("/"), currentPath.length());			//				currentPath.substring(0, currentPath.lastIndexOf('/'));			if (validate) {				if (document.getTreeLevelOrder(level) < last.getChildCount()) {					document.setTreeLevelOrder(level, last.getChildCount() + SPARSE_IDENTIFIERS);				}			} else {				document.setOwnerDocument(document);				if (broker.getDatabaseType() == DBBroker.DBM					|| broker.getDatabaseType() == DBBroker.NATIVE) {					if (last.getChildCount() > 0)						broker.update(last);				} else					broker.store(last, currentPath.toString());			}			level--;			if (last != rootNode) {				last.clear();				usedElements.push(last);			}		}	}