code: final public Selector GeneralSetPredicate() throws ParseException {
                                     Selector expr; List set; boolean neg=false;
      if (strict) {if (true) throw generateParseException();}
      expr = Expression();
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
      case NOT:
        jj_consume_token(NOT);
                                    neg = true;
        break;
      default:
        jj_la1[13] = jj_gen;
        ;
      }
      jj_consume_token(IN);
      set = SetExpr();
      Selector ans = ParseUtil.convertSet(expr, set);
      if (neg) ans = new OperatorImpl(Operator.NOT, ans);
      {if (true) return ans;}
      throw new Error("Missing return statement in function");
    }
docs: GeneralSetPredicate ::= Expression ( <NOT> )? <IN> SetExpr