code: final public Selector NullPredicate() throws ParseException {
                               boolean not=false; Selector ans;
      ans = FieldRef();
      jj_consume_token(IS);
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
      case NOT:
        jj_consume_token(NOT);
                                      not = true;
        break;
      default:
        jj_la1[11] = jj_gen;
        ;
      }
      jj_consume_token(NULL);
      ans = new OperatorImpl(Operator.ISNULL, ans);
      if (not) {if (true) return new OperatorImpl(Operator.NOT, ans);}
      else {if (true) return ans;}
      throw new Error("Missing return statement in function");
    }
docs: NullPredicate ::= FieldRef <IS> ( <NOT> )? <NULL>