if (stop + 1 > events.getLength() ||
stop < start) {
return; // should throw an error here
}
LexicalHandler lexicalHandler = null;
if (handler instanceof LexicalHandler) {
lexicalHandler = (LexicalHandler) handler;
}
for (int n = start; n <= stop; n++) {
Object event = events.get(n,0);
if (event == STATE_START_ELEMENT) {
handler.startElement((String)events.get(n,1),
(String)events.get(n,2),
(String)events.get(n,3),
(org.xml.sax.Attributes)events.get(n,4));
} else if (event == STATE_END_ELEMENT) {
handler.endElement((String)events.get(n,1),
(String)events.get(n,2),
(String)events.get(n,3));
} else if (event == STATE_CHARACTERS) {
char chars[] = ((String)(events.get(n,1))).toCharArray();
handler.characters(chars, 0, chars.length);
} else if (event == STATE_IGNORABLE_WHITESPACE) {
char chars[] = ((String)(events.get(n,1))).toCharArray();
handler.ignorableWhitespace(chars, 0, chars.length);
} else if (event == STATE_PROCESSING_INSTRUCTION) {
handler.processingInstruction((String)events.get(n,1),
(String)events.get(n,2));
} else if (event == STATE_SKIPPED_ENTITY) {
handler.skippedEntity((String)events.get(n,1));
} else if (event == STATE_SET_DOCUMENT_LOCATOR) {
handler.setDocumentLocator(locator);
} else if (event == STATE_START_DOCUMENT) {
handler.startDocument();
} else if (event == STATE_END_DOCUMENT) {
handler.endDocument();
} else if (event == STATE_START_PREFIX_MAPPING) {
handler.startPrefixMapping((String)events.get(n, 1),
(String)events.get(n, 2));
} else if (event == STATE_END_PREFIX_MAPPING) {
handler.endPrefixMapping((String)events.get(n, 1));
} else if (event == STATE_START_DTD && lexicalHandler != null) {
lexicalHandler.startDTD((String)events.get(n,1),
(String)events.get(n,2),
(String)events.get(n,3));
} else if (event == STATE_END_DTD && lexicalHandler != null) {
lexicalHandler.endDTD();
} else if (event == STATE_START_ENTITY && lexicalHandler != null) {
lexicalHandler.startEntity((String)events.get(n,1));
} else if (event == STATE_END_ENTITY && lexicalHandler != null) {
lexicalHandler.endEntity((String)events.get(n,1));
} else if (event == STATE_START_CDATA && lexicalHandler != null) {
lexicalHandler.startCDATA();
} else if (event == STATE_END_CDATA && lexicalHandler != null) {
lexicalHandler.endCDATA();
} else if (event == STATE_COMMENT && lexicalHandler != null) {
char chars[] = ((String)(events.get(n,1))).toCharArray();
lexicalHandler.comment(chars, 0, chars.length);
} else if (event == STATE_NEWELEMENT) {
if (handler instanceof DeserializationContext) {
DeserializationContext context =
(DeserializationContext)handler;