int type = getTokenType(index); int len = (type == TOKEN_STARTING_TAG || type == TOKEN_ATTR_NAME || type == TOKEN_ATTR_NS) ? getTokenLength(index) & 0xffff : getTokenLength(index);   currentOffset = getTokenOffset(index);   return matchRawTokenString(currentOffset, len, s);
int i, l; this.currentOffset = offset; int endOffset = offset + len; if (encoding < 2) { if (s.length() != len) return false; l = s.length(); for (i = 0; i < l && currentOffset < endOffset; i++) { if (s.charAt(i) != (XMLDoc.byteAt(currentOffset) & 0xff)) return false; currentOffset++; } return true; } else {  l = s.length();  for (i = 0; i < l && currentOffset < endOffset; i++) { if (s.charAt(i) != getChar()) { return false; } } } if (i == l && currentOffset == endOffset) return true; return false;
	public boolean matchRawTokenString(int index, String s)		throws NavException {		if (s == null)			throw new IllegalArgumentException("string can't be null");		int type = getTokenType(index);		int len =			(type == TOKEN_STARTING_TAG				|| type == TOKEN_ATTR_NAME				|| type == TOKEN_ATTR_NS)				? getTokenLength(index) & 0xffff				: getTokenLength(index);		// upper 16 bit is zero or for prefix		currentOffset = getTokenOffset(index);		// point currentOffset to the beginning of the token		// for UTF 8 and ISO, the performance is a little better by avoid calling getChar() everytime		return matchRawTokenString(currentOffset, len, s);	}