final public Modifier Modifier() throws ParseException {
  Modifier modifier = new Modifier();
    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
    case PRIVATE:
    case PROTECTED:
    case PUBLIC:
    case STATIC:
      if (jj_2_4(2)) {
        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
        case PUBLIC:
          jj_consume_token(PUBLIC);
                         modifier.setScopePublic(true);
          break;
        case PRIVATE:
          jj_consume_token(PRIVATE);
                                                                   modifier.setScopePrivate(true);
          break;
        case PROTECTED:
          jj_consume_token(PROTECTED);
                                                                                                                modifier.setScopeProtected(true);
          break;
        default:
          jj_la1[3] = jj_gen;
          jj_consume_token(-1);
          throw new ParseException();
        }
        jj_consume_token(STATIC);
                                                                                                                                                             modifier.setScopeStatic(true);
      } else if (jj_2_5(2)) {
        jj_consume_token(STATIC);
                         modifier.setScopeStatic(true);
        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
        case PUBLIC:
          jj_consume_token(PUBLIC);
                                                                   modifier.setScopePublic(true);
          break;
        case PRIVATE:
          jj_consume_token(PRIVATE);
                                                                                                             modifier.setScopePrivate(true);
          break;
        case PROTECTED:
          jj_consume_token(PROTECTED);
                                                                                                                                                          modifier.setScopeProtected(true);
          break;
        default:
          jj_la1[4] = jj_gen;
          jj_consume_token(-1);
          throw new ParseException();
        }
      } else if (jj_2_6(2)) {
        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
        case PUBLIC:
          jj_consume_token(PUBLIC);
                         modifier.setScopePublic(true);
          break;
        case PRIVATE:
          jj_consume_token(PRIVATE);
                                                                   modifier.setScopePrivate(true);
          break;
        case PROTECTED:
          jj_consume_token(PROTECTED);
                                                                                                                modifier.setScopeProtected(true);
          break;
        default:
          jj_la1[5] = jj_gen;
          jj_consume_token(-1);
          throw new ParseException();
        }
      } else if (jj_2_7(2)) {
        jj_consume_token(STATIC);
                         modifier.setScopeStatic(true);
      } else {
        jj_consume_token(-1);
        throw new ParseException();
      }
      break;
    default:
      jj_la1[6] = jj_gen;
      ;
    }
   {if (true) return modifier;}
    throw new Error("Missing return statement in function");
  }