boolean test(Object o) throws JSONException {
		switch (this.id) {
		case JJTSELECTOR: {
			return selector(o);
		}
		case JJTPREDICATE: {
			return predicate(o);
		}
		case JJTTERM: {
			return term(o);
		}
		case JJTNEG: {
			return neg(o);
		}
		case JJTPART: {
			return part(o);
		}
		}
			
		return false;
	}
boolean test ( Object o ) throws JSONException { switch ( this . id ) { case JJTSELECTOR : { return selector ( o ) ; } case JJTPREDICATE : { return predicate ( o ) ; } case JJTTERM : { return term ( o ) ; } case JJTNEG : { return neg ( o ) ; } case JJTPART : { return part ( o ) ; } } return false ; }
selector mode: choose if o matches the predicates, so evaluation can
continue