document.appendChild(comment);
document.appendChild(comment, validate);
	public void comment(char[] ch, int start, int length) {		if (insideDTD)			return;		CommentImpl comment = new CommentImpl(ch, start, length);		comment.setOwnerDocument(document);		if (stack.empty())			document.appendChild(comment);		else {			ElementImpl last = (ElementImpl) stack.peek();			if (charBuf != null && charBuf.length() > 0) {				String normalized = charBuf.getNormalizedString(normalize);				//String normalized = charBuf.getString().toString();				if (normalized.length() > 0) {					//TextImpl text =					//    new TextImpl( normalized );					text.setData(normalized);					text.setOwnerDocument(document);					last.appendChildInternal(text);					charBuf.setLength(0);					//charBuf = new FastStringBuffer();					if (!validate)						broker.store(text, currentPath.toString());				}			}			last.appendChildInternal(comment);		}		if (!validate)			broker.store(comment, currentPath.toString());	}