for (; i < 5 && (token = tokenizer.nextToken(true)) != null; i++) {
for (; i < 5 && (token = tokenizer.nextToken(false)) != null; i++) {
    protected NodeSet useFulltextIndex(String cmp, NodeSet nodes, DocumentSet docs) throws XPathException {//	    LOG.debug("Using fulltext index for expression " + ExpressionDumper.dump(this));	    String cmpCopy = cmp;		// try to use a fulltext search expression to reduce the number		// of potential nodes to scan through		SimpleTokenizer tokenizer = new SimpleTokenizer();		tokenizer.setText(cmp);		TextToken token;		String term;		boolean foundNumeric = false;		// setup up an &= expression using the fulltext index		ExtFulltext containsExpr = new ExtFulltext(context, Constants.FULLTEXT_AND);		containsExpr.setASTNode(getASTNode());		// disable default match highlighting		int oldFlags = context.getBroker().getTextEngine().getTrackMatches();		context.getBroker().getTextEngine().setTrackMatches(Serializer.TAG_NONE);				int i = 0;		for (; i < 5 && (token = tokenizer.nextToken(true)) != null; i++) {			// remember if we find an alphanumeric token			if (token.getType() == TextToken.ALPHANUM)				foundNumeric = true;		}		// check if all elements are indexed. If not, we can't use the		// fulltext index.		if (foundNumeric)			foundNumeric = checkArgumentTypes(context, docs);		if ((!foundNumeric) && i > 0) {			// all elements are indexed: use the fulltext index			containsExpr.addTerm(new LiteralValue(context, new StringValue(cmp)));			nodes = (NodeSet) containsExpr.eval(nodes, null);		}		context.getBroker().getTextEngine().setTrackMatches(oldFlags);		cmp = cmpCopy;		return nodes;	}