@Override
	public void characters(final char[] ch, final int start, final int length)
			throws SAXException {

		if (suppress || (length == 0 && !inCDATA))
			return;

		if (previousCDATA != inCDATA) {
			flushCharacters();
		}

		textBuffer.append(ch, start, length);
		
		if (currentLocator != null) {
			lastline = currentLocator.getLineNumber();
			lastcol = currentLocator.getColumnNumber();
		}
	}