if(test.getType() == Type.NODE) {
if(testType == Type.NODE) {
	protected Sequence getSelf(XQueryContext context, NodeSet contextSet) {		if(test.isWildcardTest()) {			if(test.getType() == Type.NODE) {				if (inPredicate) {					if (contextSet instanceof VirtualNodeSet) {						((VirtualNodeSet) contextSet).setInPredicate(true);						((VirtualNodeSet) contextSet).setSelfIsContext();                    } else if(Type.subTypeOf(contextSet.getItemType(), Type.NODE)) {						NodeProxy p;						for (Iterator i = contextSet.iterator(); i.hasNext();) {							p = (NodeProxy) i.next();							if (test.matches(p))								p.addContextNode(p);						}					}				}				return contextSet;			} else {//                NodeSet result = new ExtArrayNodeSet();//                NodeProxy p;//                for (Iterator i = contextSet.iterator(); i.hasNext(); ) {//                    p = (NodeProxy) i.next();//                    if (test.matches(p)) {//                        result.add(p);//                        p.addContextNode(p);//                    }//                }//                return result;				VirtualNodeSet vset = new VirtualNodeSet(axis, test, contextSet);				vset.setInPredicate(inPredicate);				return vset;			}		} else {			DocumentSet docs = getDocumentSet(contextSet);		    NodeSelector selector = new SelfSelector(contextSet, inPredicate);		    NodeSet result = context.getBroker().getElementIndex().findElementsByTagName(		    		ElementValue.ELEMENT, docs, test.getName(), selector		    );			return result;		}	}