code: final public Selector BooleanFactor() throws ParseException {
                               Selector child; boolean neg=false;
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
      case NOT:
        jj_consume_token(NOT);
               neg = true;
        break;
      default:
        jj_la1[2] = jj_gen;
        ;
      }
      child = Predicate();
      if (neg) {if (true) return new OperatorImpl(Operator.NOT, child);}
      else {if (true) return child;}
      throw new Error("Missing return statement in function");
    }
docs: BooleanFactor ::= ( <NOT> Predicate ) | Predicate