{ int	length = delim.length (); char	ch [];  if (length < dataBuffer.length) { ch = dataBuffer; delim.getChars (0, length, ch, 0); } else ch = delim.toCharArray ();  if (USE_CHEATS && length <= (readBufferLength - readBufferPos)) { int offset = readBufferPos;  for (int i = 0; i < length; i++, offset++) if (ch [i] != readBuffer [offset]) error ("required string", null, delim); readBufferPos = offset;  } else { for (int i = 0; i < length; i++) require (ch [i]); } }
{ int length = delim.length(); char[] ch;  if (length < dataBuffer.length) { ch = dataBuffer; delim.getChars(0, length, ch, 0); } else { ch = delim.toCharArray(); }  if (USE_CHEATS && length <= (readBufferLength - readBufferPos)) { int offset = readBufferPos;  for (int i = 0; i < length; i++, offset++) { if (ch[i] != readBuffer[offset]) { error ("required string", null, delim); } } readBufferPos = offset;  } else { for (int i = 0; i < length; i++) { require(ch[i]); } } }
    private void require (String delim)    throws SAXException, IOException    {	int	length = delim.length ();	char	ch [];			if (length < dataBuffer.length) {	    ch = dataBuffer;	    delim.getChars (0, length, ch, 0);	} else	    ch = delim.toCharArray ();	if (USE_CHEATS		&& length <= (readBufferLength - readBufferPos)) {	    int offset = readBufferPos;	    for (int i = 0; i < length; i++, offset++)		if (ch [i] != readBuffer [offset])		    error ("required string", null, delim);	    readBufferPos = offset;	    	} else {	    for (int i = 0; i < length; i++)		require (ch [i]);	}    }