code: final public Selector BooleanExpr() throws ParseException {
                             Selector left, right=null;
      left = BooleanTerm();
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
      case OR:
        jj_consume_token(OR);
        right = BooleanExpr();
        break;
      default:
        jj_la1[0] = jj_gen;
        ;
      }
      if (right == null) {if (true) return left;}
      else {if (true) return new OperatorImpl(Operator.OR, left, right);}
      throw new Error("Missing return statement in function");
    }
docs: | BooleanTerm <OR> BooleanExpr