static final public ActorType actor_type() throws ParseException {
                           Token typeToken = null;
                                          ActorType result;
                                          Token bname;
                                          Behavior beh;
    jj_consume_token(ACTOR);
    typeToken = jj_consume_token(TYPEIDENT);
                                                          result = new ActorType(typeToken.image);
    jj_consume_token(LBRACE);
    label_4:
    while (true) {
      beh = behavior();
                               result.addBehavior(beh);
      if (jj_2_4(4)) {
        ;
      } else {
        break label_4;
      }
    }
    jj_consume_token(INIT);
    bname = jj_consume_token(BEHAVIORIDENT);
                                   Behavior init = result.getBehavior(bname.image);
                                                               if (init == null) {
                                                                  {if (true) throw new ParseException("Initial behavior " + bname.image + " not defined  for actor type " + typeToken.image );}
                                                       }
                                                       result.setInitialBehavior(bname.image);
    jj_consume_token(RBRACE);
     {if (true) return result;}
    throw new Error("Missing return statement in function");
  }