context.getBroker().getNodesEqualTo(nodes, docs, relation, cmp, context.getDefaultCollator());
context.getBroker().getNodesEqualTo(nodes, docs, relation, cmp, collator);
	protected Sequence quickNodeSetCompare(Sequence contextSequence)		throws XPathException {		if(cached != null && cached.isValid(contextSequence)) {//			LOG.debug("Returning cached result for " + pprint());			return cached.getResult();		}		//	evaluate left expression		NodeSet nodes = (NodeSet) getLeft().eval(contextSequence);		if(nodes.getLength() < 2)			// fall back to nodeSetCompare			return nodeSetCompare(nodes, contextSequence);		Sequence rightSeq = getRight().eval(contextSequence);		String cmp = rightSeq.getStringValue();		if (rightSeq.getLength() > 1 ||				cmp.length() > NativeTextEngine.MAX_WORD_LENGTH)			// fall back to nodeSetCompare			return nodeSetCompare(nodes, contextSequence);//		LOG.debug("quick compare: " + cmp.length());		DocumentSet docs = nodes.getDocumentSet();		switch(truncation) {			case Constants.TRUNC_RIGHT:				cmp = cmp + '%';				break;			case Constants.TRUNC_LEFT:				cmp = '%' + cmp;				break;			case Constants.TRUNC_BOTH:				cmp = '%' + cmp + '%';		}		if (getLeft().returnsType() == Type.NODE			&& relation == Constants.EQ			&& nodes.hasIndex()			&& cmp.length() > 0) {			String cmpCopy = cmp;			cmp = maskWildcards(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());			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);			}			cmp = cmpCopy;		}		// now compare the input node set to the search expression		NodeSet result =			context.getBroker().getNodesEqualTo(nodes, docs, relation, cmp, context.getDefaultCollator());		if(contextSequence instanceof NodeSet)			cached = new CachedResult((NodeSet)contextSequence, result);		return result;	}