throw new Error("Missing return statement in function"); }
  static final public ASTRoot Root() throws ParseException {                        /*@bgen(jjtree) Root */  ASTRoot jjtn000 = new ASTRoot(JJTROOT);  boolean jjtc000 = true;  jjtree.openNodeScope(jjtn000);    try {      Annotation();      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {      case 0:        jj_consume_token(0);        break;      case 26:        jj_consume_token(26);        break;      case NEWLINE:        jj_consume_token(NEWLINE);        break;      default:        jj_la1[0] = jj_gen;        jj_consume_token(-1);        throw new ParseException();      }      jjtree.closeNodeScope(jjtn000, true);      jjtc000 = false;      {if (true) return jjtn000;}    } catch (Throwable jjte000) {      if (jjtc000) {        jjtree.clearNodeScope(jjtn000);        jjtc000 = false;      } else {        jjtree.popNode();      }      if (jjte000 instanceof RuntimeException) {        {if (true) throw (RuntimeException)jjte000;}      }      if (jjte000 instanceof ParseException) {        {if (true) throw (ParseException)jjte000;}      }      {if (true) throw (Error)jjte000;}    } finally {      if (jjtc000) {        jjtree.closeNodeScope(jjtn000, true);      }    }    throw new Error("Missing return statement in function");  }