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