COMPILATION_UNIT -> COMPILATION_UNIT [1:0]
|--PACKAGE_DEF -> package [1:0]
|   |--ANNOTATIONS -> ANNOTATIONS [1:47]
|   |--DOT -> . [1:47]
|   |   |--DOT -> . [1:39]
|   |   |   |--DOT -> . [1:28]
|   |   |   |   |--DOT -> . [1:22]
|   |   |   |   |   |--DOT -> . [1:11]
|   |   |   |   |   |   |--IDENT -> com [1:8]
|   |   |   |   |   |   `--IDENT -> puppycrawl [1:12]
|   |   |   |   |   `--IDENT -> tools [1:23]
|   |   |   |   `--IDENT -> checkstyle [1:29]
|   |   |   `--IDENT -> grammar [1:40]
|   |   `--IDENT -> antlr4 [1:48]
|   `--SEMI -> ; [1:54]
`--CLASS_DEF -> CLASS_DEF [3:0]
    |--MODIFIERS -> MODIFIERS [3:0]
    |   `--LITERAL_PUBLIC -> public [3:0]
    |--LITERAL_CLASS -> class [3:7]
    |--IDENT -> InputAntlr4AstRegressionTrickySwitchWithComments [3:13]
    `--OBJBLOCK -> OBJBLOCK [3:62]
        |--LCURLY -> { [3:62]
        |--METHOD_DEF -> METHOD_DEF [8:4]
        |   |--MODIFIERS -> MODIFIERS [8:4]
        |   |   |--BLOCK_COMMENT_BEGIN -> /* [5:4]
        |   |   |   |--COMMENT_CONTENT -> *\n     * Javadoc here.\n      [5:6]
        |   |   |   `--BLOCK_COMMENT_END -> */ [7:5]
        |   |   |--LITERAL_PRIVATE -> private [8:4]
        |   |   `--LITERAL_STATIC -> static [8:12]
        |   |--TYPE -> TYPE [8:19]
        |   |   `--LITERAL_VOID -> void [8:19]
        |   |--IDENT -> fooSwitch [8:24]
        |   |--LPAREN -> ( [8:33]
        |   |--PARAMETERS -> PARAMETERS [8:34]
        |   |--RPAREN -> ) [8:34]
        |   `--SLIST -> { [8:36]
        |       |--LITERAL_SWITCH -> switch [9:8]
        |       |   |--LPAREN -> ( [9:14]
        |       |   |--EXPR -> EXPR [9:15]
        |       |   |   `--STRING_LITERAL -> "" [9:15]
        |       |   |--RPAREN -> ) [9:17]
        |       |   |--LCURLY -> { [9:19]
        |       |   |--CASE_GROUP -> CASE_GROUP [10:12]
        |       |   |   |--LITERAL_CASE -> case [10:12]
        |       |   |   |   |--EXPR -> EXPR [10:17]
        |       |   |   |   |   `--STRING_LITERAL -> "0" [10:17]
        |       |   |   |   `--COLON -> : [10:20]
        |       |   |   |--SINGLE_LINE_COMMENT -> // [10:22]
        |       |   |   |   `--COMMENT_CONTENT -> some comment\n [10:24]
        |       |   |   |--LITERAL_CASE -> case [11:12]
        |       |   |   |   |--EXPR -> EXPR [11:17]
        |       |   |   |   |   `--STRING_LITERAL -> "1" [11:17]
        |       |   |   |   `--COLON -> : [11:20]
        |       |   |   `--SLIST -> SLIST [13:20]
        |       |   |       |--EXPR -> EXPR [13:20]
        |       |   |       |   `--METHOD_CALL -> ( [13:20]
        |       |   |       |       |--SINGLE_LINE_COMMENT -> // [12:16]
        |       |   |       |       |   `--COMMENT_CONTENT ->  my comment\n [12:18]
        |       |   |       |       |--IDENT -> foo1 [13:16]
        |       |   |       |       |--ELIST -> ELIST [13:21]
        |       |   |       |       `--RPAREN -> ) [13:21]
        |       |   |       |--SEMI -> ; [13:22]
        |       |   |       `--LITERAL_BREAK -> break [14:16]
        |       |   |           `--SEMI -> ; [14:21]
        |       |   |--CASE_GROUP -> CASE_GROUP [15:12]
        |       |   |   |--LITERAL_CASE -> case [15:12]
        |       |   |   |   |--EXPR -> EXPR [15:17]
        |       |   |   |   |   `--STRING_LITERAL -> "2" [15:17]
        |       |   |   |   `--COLON -> : [15:20]
        |       |   |   `--SLIST -> SLIST [18:20]
        |       |   |       |--EXPR -> EXPR [18:20]
        |       |   |       |   `--METHOD_CALL -> ( [18:20]
        |       |   |       |       |--SINGLE_LINE_COMMENT -> // [16:16]
        |       |   |       |       |   `--COMMENT_CONTENT ->  my comment\n [16:18]
        |       |   |       |       |--SINGLE_LINE_COMMENT -> // [17:16]
        |       |   |       |       |   `--COMMENT_CONTENT -> comment\n [17:18]
        |       |   |       |       |--IDENT -> foo1 [18:16]
        |       |   |       |       |--ELIST -> ELIST [18:21]
        |       |   |       |       `--RPAREN -> ) [18:21]
        |       |   |       |--SEMI -> ; [18:22]
        |       |   |       |--SINGLE_LINE_COMMENT -> // [19:16]
        |       |   |       |   `--COMMENT_CONTENT ->  comment\n [19:18]
        |       |   |       `--LITERAL_BREAK -> break [20:16]
        |       |   |           `--SEMI -> ; [20:21]
        |       |   |--CASE_GROUP -> CASE_GROUP [21:12]
        |       |   |   |--LITERAL_CASE -> case [21:12]
        |       |   |   |   |--EXPR -> EXPR [21:17]
        |       |   |   |   |   `--STRING_LITERAL -> "3" [21:17]
        |       |   |   |   `--COLON -> : [21:20]
        |       |   |   `--SLIST -> SLIST [23:20]
        |       |   |       |--EXPR -> EXPR [23:20]
        |       |   |       |   `--METHOD_CALL -> ( [23:20]
        |       |   |       |       |--BLOCK_COMMENT_BEGIN -> /* [22:12]
        |       |   |       |       |   |--COMMENT_CONTENT ->  // warn  [22:14]
        |       |   |       |       |   `--BLOCK_COMMENT_END -> */ [22:22]
        |       |   |       |       |--IDENT -> foo1 [23:16]
        |       |   |       |       |--ELIST -> ELIST [23:21]
        |       |   |       |       `--RPAREN -> ) [23:21]
        |       |   |       |--SEMI -> ; [23:22]
        |       |   |       |--BLOCK_COMMENT_BEGIN -> /* [24:16]
        |       |   |       |   |--COMMENT_CONTENT ->  com  [24:18]
        |       |   |       |   `--BLOCK_COMMENT_END -> */ [24:22]
        |       |   |       `--LITERAL_BREAK -> break [25:16]
        |       |   |           `--SEMI -> ; [25:21]
        |       |   |--CASE_GROUP -> CASE_GROUP [26:12]
        |       |   |   |--LITERAL_CASE -> case [26:12]
        |       |   |   |   |--EXPR -> EXPR [26:17]
        |       |   |   |   |   `--STRING_LITERAL -> "5" [26:17]
        |       |   |   |   `--COLON -> : [26:20]
        |       |   |   `--SLIST -> SLIST [27:20]
        |       |   |       |--EXPR -> EXPR [27:20]
        |       |   |       |   `--METHOD_CALL -> ( [27:20]
        |       |   |       |       |--IDENT -> foo1 [27:16]
        |       |   |       |       |--ELIST -> ELIST [27:21]
        |       |   |       |       `--RPAREN -> ) [27:21]
        |       |   |       `--SEMI -> ; [27:22]
        |       |   |--CASE_GROUP -> CASE_GROUP [29:12]
        |       |   |   |--SINGLE_LINE_COMMENT -> // [28:19]
        |       |   |   |   `--COMMENT_CONTENT ->  warn\n [28:21]
        |       |   |   |--LITERAL_CASE -> case [29:12]
        |       |   |   |   |--EXPR -> EXPR [29:17]
        |       |   |   |   |   `--STRING_LITERAL -> "6" [29:17]
        |       |   |   |   `--COLON -> : [29:20]
        |       |   |   `--SLIST -> SLIST [30:16]
        |       |   |       |--VARIABLE_DEF -> VARIABLE_DEF [30:16]
        |       |   |       |   |--MODIFIERS -> MODIFIERS [30:16]
        |       |   |       |   |--TYPE -> TYPE [30:16]
        |       |   |       |   |   `--LITERAL_INT -> int [30:16]
        |       |   |       |   |--IDENT -> k [30:20]
        |       |   |       |   `--ASSIGN -> = [30:22]
        |       |   |       |       `--EXPR -> EXPR [30:24]
        |       |   |       |           `--NUM_INT -> 7 [30:24]
        |       |   |       `--SEMI -> ; [30:25]
        |       |   |--CASE_GROUP -> CASE_GROUP [32:12]
        |       |   |   |--SINGLE_LINE_COMMENT -> // [31:16]
        |       |   |   |   `--COMMENT_CONTENT ->  fall through\n [31:18]
        |       |   |   |--LITERAL_CASE -> case [32:12]
        |       |   |   |   |--EXPR -> EXPR [32:17]
        |       |   |   |   |   `--STRING_LITERAL -> "7" [32:17]
        |       |   |   |   `--COLON -> : [32:20]
        |       |   |   `--SLIST -> SLIST [33:16]
        |       |   |       `--LITERAL_IF -> if [33:16]
        |       |   |           |--LPAREN -> ( [33:19]
        |       |   |           |--EXPR -> EXPR [33:20]
        |       |   |           |   `--LITERAL_TRUE -> true [33:20]
        |       |   |           |--RPAREN -> ) [33:24]
        |       |   |           `--SLIST -> { [33:26]
        |       |   |               `--RCURLY -> } [33:27]
        |       |   |--CASE_GROUP -> CASE_GROUP [35:12]
        |       |   |   |--SINGLE_LINE_COMMENT -> // [34:19]
        |       |   |   |   `--COMMENT_CONTENT ->  warn\n [34:21]
        |       |   |   |--LITERAL_CASE -> case [35:12]
        |       |   |   |   |--EXPR -> EXPR [35:17]
        |       |   |   |   |   `--STRING_LITERAL -> "8" [35:17]
        |       |   |   |   `--COLON -> : [35:20]
        |       |   |   `--SLIST -> SLIST [36:16]
        |       |   |       `--LITERAL_BREAK -> break [36:16]
        |       |   |           `--SEMI -> ; [36:21]
        |       |   |--CASE_GROUP -> CASE_GROUP [37:12]
        |       |   |   |--LITERAL_CASE -> case [37:12]
        |       |   |   |   |--EXPR -> EXPR [37:17]
        |       |   |   |   |   `--STRING_LITERAL -> "9" [37:17]
        |       |   |   |   `--COLON -> : [37:20]
        |       |   |   `--SLIST -> SLIST [38:20]
        |       |   |       |--EXPR -> EXPR [38:20]
        |       |   |       |   `--METHOD_CALL -> ( [38:20]
        |       |   |       |       |--IDENT -> foo1 [38:16]
        |       |   |       |       |--ELIST -> ELIST [38:21]
        |       |   |       |       `--RPAREN -> ) [38:21]
        |       |   |       `--SEMI -> ; [38:22]
        |       |   |--CASE_GROUP -> CASE_GROUP [40:12]
        |       |   |   |--SINGLE_LINE_COMMENT -> // [39:16]
        |       |   |   |   `--COMMENT_CONTENT ->  fall through\n [39:18]
        |       |   |   |--LITERAL_CASE -> case [40:12]
        |       |   |   |   |--EXPR -> EXPR [40:17]
        |       |   |   |   |   `--STRING_LITERAL -> "10" [40:17]
        |       |   |   |   `--COLON -> : [40:21]
        |       |   |   `--SLIST -> SLIST [40:23]
        |       |   |       `--SLIST -> { [40:23]
        |       |   |           |--LITERAL_IF -> if [41:16]
        |       |   |           |   |--LPAREN -> ( [41:19]
        |       |   |           |   |--EXPR -> EXPR [41:20]
        |       |   |           |   |   `--LITERAL_TRUE -> true [41:20]
        |       |   |           |   |--RPAREN -> ) [41:24]
        |       |   |           |   `--SLIST -> { [41:26]
        |       |   |           |       `--RCURLY -> } [41:27]
        |       |   |           |--SINGLE_LINE_COMMENT -> // [42:16]
        |       |   |           |   `--COMMENT_CONTENT ->  fall through\n [42:18]
        |       |   |           `--RCURLY -> } [43:12]
        |       |   |--CASE_GROUP -> CASE_GROUP [44:12]
        |       |   |   |--LITERAL_CASE -> case [44:12]
        |       |   |   |   |--EXPR -> EXPR [44:17]
        |       |   |   |   |   `--STRING_LITERAL -> "11" [44:17]
        |       |   |   |   `--COLON -> : [44:21]
        |       |   |   `--SLIST -> SLIST [44:23]
        |       |   |       `--SLIST -> { [44:23]
        |       |   |           |--SINGLE_LINE_COMMENT -> // [45:12]
        |       |   |           |   `--COMMENT_CONTENT ->  fall through\n [45:14]
        |       |   |           `--RCURLY -> } [46:12]
        |       |   |--CASE_GROUP -> CASE_GROUP [47:12]
        |       |   |   |--LITERAL_CASE -> case [47:12]
        |       |   |   |   |--EXPR -> EXPR [47:17]
        |       |   |   |   |   `--STRING_LITERAL -> "28" [47:17]
        |       |   |   |   `--COLON -> : [47:21]
        |       |   |   `--SLIST -> SLIST [47:23]
        |       |   |       `--SLIST -> { [47:23]
        |       |   |           |--SINGLE_LINE_COMMENT -> // [48:16]
        |       |   |           |   `--COMMENT_CONTENT ->  fall through\n [48:18]
        |       |   |           `--RCURLY -> } [49:12]
        |       |   |--CASE_GROUP -> CASE_GROUP [50:12]
        |       |   |   |--LITERAL_CASE -> case [50:12]
        |       |   |   |   |--EXPR -> EXPR [50:17]
        |       |   |   |   |   `--STRING_LITERAL -> "12" [50:17]
        |       |   |   |   `--COLON -> : [50:21]
        |       |   |   `--SLIST -> SLIST [50:23]
        |       |   |       `--SLIST -> { [50:23]
        |       |   |           |--VARIABLE_DEF -> VARIABLE_DEF [52:16]
        |       |   |           |   |--MODIFIERS -> MODIFIERS [52:16]
        |       |   |           |   |--TYPE -> TYPE [52:16]
        |       |   |           |   |   |--SINGLE_LINE_COMMENT -> // [51:6]
        |       |   |           |   |   |   `--COMMENT_CONTENT ->  warn\n [51:8]
        |       |   |           |   |   `--LITERAL_INT -> int [52:16]
        |       |   |           |   `--IDENT -> i [52:20]
        |       |   |           |--SEMI -> ; [52:21]
        |       |   |           `--RCURLY -> } [53:12]
        |       |   |--CASE_GROUP -> CASE_GROUP [54:12]
        |       |   |   |--LITERAL_CASE -> case [54:12]
        |       |   |   |   |--EXPR -> EXPR [54:17]
        |       |   |   |   |   `--STRING_LITERAL -> "13" [54:17]
        |       |   |   |   `--COLON -> : [54:21]
        |       |   |   `--SLIST -> SLIST [54:23]
        |       |   |       `--SLIST -> { [54:23]
        |       |   |           |--SINGLE_LINE_COMMENT -> // [55:23]
        |       |   |           |   `--COMMENT_CONTENT ->  some comment in empty case block\n [55:25]
        |       |   |           `--RCURLY -> } [56:12]
        |       |   |--CASE_GROUP -> CASE_GROUP [57:12]
        |       |   |   |--LITERAL_CASE -> case [57:12]
        |       |   |   |   |--EXPR -> EXPR [57:17]
        |       |   |   |   |   `--STRING_LITERAL -> "14" [57:17]
        |       |   |   |   `--COLON -> : [57:21]
        |       |   |   `--SLIST -> SLIST [57:23]
        |       |   |       `--SLIST -> { [57:23]
        |       |   |           |--SINGLE_LINE_COMMENT -> // [58:8]
        |       |   |           |   `--COMMENT_CONTENT ->  warn\n [58:10]
        |       |   |           `--RCURLY -> } [59:12]
        |       |   |--CASE_GROUP -> CASE_GROUP [60:12]
        |       |   |   |--LITERAL_CASE -> case [60:12]
        |       |   |   |   |--EXPR -> EXPR [60:17]
        |       |   |   |   |   `--STRING_LITERAL -> "15" [60:17]
        |       |   |   |   `--COLON -> : [60:21]
        |       |   |   `--SLIST -> SLIST [60:23]
        |       |   |       `--SLIST -> { [60:23]
        |       |   |           |--EXPR -> EXPR [61:20]
        |       |   |           |   `--METHOD_CALL -> ( [61:20]
        |       |   |           |       |--IDENT -> foo1 [61:16]
        |       |   |           |       |--ELIST -> ELIST [61:21]
        |       |   |           |       `--RPAREN -> ) [61:21]
        |       |   |           |--SEMI -> ; [61:22]
        |       |   |           |--SINGLE_LINE_COMMENT -> // [62:22]
        |       |   |           |   `--COMMENT_CONTENT ->  warn\n [62:24]
        |       |   |           `--RCURLY -> } [63:12]
        |       |   |--CASE_GROUP -> CASE_GROUP [64:12]
        |       |   |   |--LITERAL_CASE -> case [64:12]
        |       |   |   |   |--EXPR -> EXPR [64:17]
        |       |   |   |   |   `--STRING_LITERAL -> "16" [64:17]
        |       |   |   |   `--COLON -> : [64:21]
        |       |   |   `--SLIST -> SLIST [64:23]
        |       |   |       `--SLIST -> { [64:23]
        |       |   |           |--VARIABLE_DEF -> VARIABLE_DEF [65:16]
        |       |   |           |   |--MODIFIERS -> MODIFIERS [65:16]
        |       |   |           |   |--TYPE -> TYPE [65:16]
        |       |   |           |   |   `--LITERAL_INT -> int [65:16]
        |       |   |           |   `--IDENT -> a [65:20]
        |       |   |           |--SEMI -> ; [65:21]
        |       |   |           `--RCURLY -> } [66:12]
        |       |   |--CASE_GROUP -> CASE_GROUP [68:12]
        |       |   |   |--SINGLE_LINE_COMMENT -> // [67:12]
        |       |   |   |   `--COMMENT_CONTENT ->  fall through\n [67:14]
        |       |   |   |--LITERAL_CASE -> case [68:12]
        |       |   |   |   |--EXPR -> EXPR [68:17]
        |       |   |   |   |   `--STRING_LITERAL -> "17" [68:17]
        |       |   |   |   `--COLON -> : [68:21]
        |       |   |   `--SLIST -> SLIST [68:23]
        |       |   |       `--SLIST -> { [68:23]
        |       |   |           |--VARIABLE_DEF -> VARIABLE_DEF [69:16]
        |       |   |           |   |--MODIFIERS -> MODIFIERS [69:16]
        |       |   |           |   |--TYPE -> TYPE [69:16]
        |       |   |           |   |   `--LITERAL_INT -> int [69:16]
        |       |   |           |   `--IDENT -> a [69:20]
        |       |   |           |--SEMI -> ; [69:21]
        |       |   |           `--RCURLY -> } [70:12]
        |       |   |--CASE_GROUP -> CASE_GROUP [72:16]
        |       |   |   |--SINGLE_LINE_COMMENT -> // [71:14]
        |       |   |   |   `--COMMENT_CONTENT ->  warn\n [71:16]
        |       |   |   |--LITERAL_CASE -> case [72:16]
        |       |   |   |   |--EXPR -> EXPR [72:21]
        |       |   |   |   |   `--STRING_LITERAL -> "18" [72:21]
        |       |   |   |   `--COLON -> : [72:25]
        |       |   |   `--SLIST -> SLIST [72:27]
        |       |   |       `--SLIST -> { [72:27]
        |       |   |           |--EXPR -> EXPR [72:49]
        |       |   |           |   `--METHOD_CALL -> ( [72:49]
        |       |   |           |       |--DOT -> . [72:35]
        |       |   |           |       |   |--IDENT -> System [72:29]
        |       |   |           |       |   `--IDENT -> lineSeparator [72:36]
        |       |   |           |       |--ELIST -> ELIST [72:50]
        |       |   |           |       `--RPAREN -> ) [72:50]
        |       |   |           |--SEMI -> ; [72:51]
        |       |   |           `--RCURLY -> } [73:16]
        |       |   |--CASE_GROUP -> CASE_GROUP [74:12]
        |       |   |   |--SINGLE_LINE_COMMENT -> // [73:20]
        |       |   |   |   `--COMMENT_CONTENT ->  trailing comment\n [73:22]
        |       |   |   |--LITERAL_CASE -> case [74:12]
        |       |   |   |   |--EXPR -> EXPR [74:17]
        |       |   |   |   |   `--STRING_LITERAL -> "19" [74:17]
        |       |   |   |   `--COLON -> : [74:21]
        |       |   |   |--SINGLE_LINE_COMMENT -> // [75:16]
        |       |   |   |   `--COMMENT_CONTENT ->  comment\n [75:18]
        |       |   |   |--LITERAL_CASE -> case [76:12]
        |       |   |   |   |--EXPR -> EXPR [76:17]
        |       |   |   |   |   `--STRING_LITERAL -> "20" [76:17]
        |       |   |   |   `--COLON -> : [76:21]
        |       |   |   |--SINGLE_LINE_COMMENT -> // [77:12]
        |       |   |   |   `--COMMENT_CONTENT ->  comment\n [77:14]
        |       |   |   |--LITERAL_CASE -> case [78:12]
        |       |   |   |   |--EXPR -> EXPR [78:17]
        |       |   |   |   |   `--STRING_LITERAL -> "21" [78:17]
        |       |   |   |   `--COLON -> : [78:21]
        |       |   |   |--LITERAL_DEFAULT -> default [79:12]
        |       |   |   |   `--COLON -> : [79:19]
        |       |   |   `--SLIST -> SLIST [81:16]
        |       |   |       |--SINGLE_LINE_COMMENT -> // [80:16]
        |       |   |       |   `--COMMENT_CONTENT ->  comment\n [80:18]
        |       |   |       `--LITERAL_BREAK -> break [81:16]
        |       |   |           `--SEMI -> ; [81:21]
        |       |   `--RCURLY -> } [82:8]
        |       `--RCURLY -> } [83:4]
        |--METHOD_DEF -> METHOD_DEF [85:4]
        |   |--MODIFIERS -> MODIFIERS [85:4]
        |   |   |--LITERAL_PRIVATE -> private [85:4]
        |   |   `--LITERAL_STATIC -> static [85:12]
        |   |--TYPE -> TYPE [85:19]
        |   |   `--LITERAL_VOID -> void [85:19]
        |   |--IDENT -> foo1 [85:24]
        |   |--LPAREN -> ( [85:28]
        |   |--PARAMETERS -> PARAMETERS [85:29]
        |   |--RPAREN -> ) [85:29]
        |   `--SLIST -> { [85:31]
        |       |--LITERAL_IF -> if [86:8]
        |       |   |--LPAREN -> ( [86:11]
        |       |   |--EXPR -> EXPR [86:12]
        |       |   |   `--LITERAL_TRUE -> true [86:12]
        |       |   |--RPAREN -> ) [86:16]
        |       |   `--SLIST -> { [86:18]
        |       |       |--LITERAL_SWITCH -> switch [87:12]
        |       |       |   |--LPAREN -> ( [87:18]
        |       |       |   |--EXPR -> EXPR [87:19]
        |       |       |   |   `--NUM_INT -> 1 [87:19]
        |       |       |   |--RPAREN -> ) [87:20]
        |       |       |   |--LCURLY -> { [87:22]
        |       |       |   |--CASE_GROUP -> CASE_GROUP [88:16]
        |       |       |   |   |--LITERAL_CASE -> case [88:16]
        |       |       |   |   |   |--EXPR -> EXPR [88:21]
        |       |       |   |   |   |   `--NUM_INT -> 0 [88:21]
        |       |       |   |   |   `--COLON -> : [88:22]
        |       |       |   |   |--LITERAL_CASE -> case [90:16]
        |       |       |   |   |   |--EXPR -> EXPR [90:21]
        |       |       |   |   |   |   `--NUM_INT -> 1 [90:21]
        |       |       |   |   |   `--COLON -> : [90:22]
        |       |       |   |   `--SLIST -> SLIST [92:20]
        |       |       |   |       |--VARIABLE_DEF -> VARIABLE_DEF [92:20]
        |       |       |   |       |   |--MODIFIERS -> MODIFIERS [92:20]
        |       |       |   |       |   |--TYPE -> TYPE [92:20]
        |       |       |   |       |   |   |--SINGLE_LINE_COMMENT -> // [91:24]
        |       |       |   |       |   |   |   `--COMMENT_CONTENT ->  warn\n [91:26]
        |       |       |   |       |   |   `--LITERAL_INT -> int [92:20]
        |       |       |   |       |   |--IDENT -> b [92:24]
        |       |       |   |       |   `--ASSIGN -> = [92:26]
        |       |       |   |       |       `--EXPR -> EXPR [92:28]
        |       |       |   |       |           `--NUM_INT -> 10 [92:28]
        |       |       |   |       `--SEMI -> ; [92:30]
        |       |       |   |--CASE_GROUP -> CASE_GROUP [93:16]
        |       |       |   |   `--LITERAL_DEFAULT -> default [93:16]
        |       |       |   |       `--COLON -> : [93:23]
        |       |       |   |--SINGLE_LINE_COMMENT -> // [94:17]
        |       |       |   |   `--COMMENT_CONTENT ->  comment\n [94:19]
        |       |       |   `--RCURLY -> } [95:12]
        |       |       `--RCURLY -> } [97:8]
        |       `--RCURLY -> } [98:4]
        |--METHOD_DEF -> METHOD_DEF [100:4]
        |   |--MODIFIERS -> MODIFIERS [100:4]
        |   |   |--BLOCK_COMMENT_BEGIN -> /* [99:4]
        |   |   |   |--COMMENT_CONTENT -> * Single line javadoc here  [99:6]
        |   |   |   `--BLOCK_COMMENT_END -> */ [99:32]
        |   |   `--LITERAL_PUBLIC -> public [100:4]
        |   |--TYPE -> TYPE [100:11]
        |   |   `--LITERAL_VOID -> void [100:11]
        |   |--IDENT -> fooDotInCaseBlock [100:16]
        |   |--LPAREN -> ( [100:33]
        |   |--PARAMETERS -> PARAMETERS [100:34]
        |   |--RPAREN -> ) [100:34]
        |   `--SLIST -> { [100:36]
        |       |--VARIABLE_DEF -> VARIABLE_DEF [101:8]
        |       |   |--MODIFIERS -> MODIFIERS [101:8]
        |       |   |--TYPE -> TYPE [101:8]
        |       |   |   `--LITERAL_INT -> int [101:8]
        |       |   |--IDENT -> i [101:12]
        |       |   `--ASSIGN -> = [101:14]
        |       |       `--EXPR -> EXPR [101:16]
        |       |           `--NUM_INT -> 0 [101:16]
        |       |--SEMI -> ; [101:17]
        |       |--VARIABLE_DEF -> VARIABLE_DEF [102:8]
        |       |   |--MODIFIERS -> MODIFIERS [102:8]
        |       |   |--TYPE -> TYPE [102:8]
        |       |   |   `--IDENT -> String [102:8]
        |       |   |--IDENT -> s [102:15]
        |       |   `--ASSIGN -> = [102:17]
        |       |       `--EXPR -> EXPR [102:19]
        |       |           `--STRING_LITERAL -> "" [102:19]
        |       |--SEMI -> ; [102:21]
        |       |--LITERAL_SWITCH -> switch [104:8]
        |       |   |--LPAREN -> ( [104:15]
        |       |   |--EXPR -> EXPR [104:16]
        |       |   |   `--IDENT -> i [104:16]
        |       |   |--RPAREN -> ) [104:17]
        |       |   |--LCURLY -> { [104:19]
        |       |   |--CASE_GROUP -> CASE_GROUP [105:12]
        |       |   |   |--LITERAL_CASE -> case [105:12]
        |       |   |   |   |--EXPR -> EXPR [105:17]
        |       |   |   |   |   `--UNARY_MINUS -> - [105:17]
        |       |   |   |   |       `--NUM_INT -> 2 [105:18]
        |       |   |   |   `--COLON -> : [105:19]
        |       |   |   `--SLIST -> SLIST [107:17]
        |       |   |       |--EXPR -> EXPR [107:17]
        |       |   |       |   `--POST_INC -> ++ [107:17]
        |       |   |       |       |--SINGLE_LINE_COMMENT -> // [106:16]
        |       |   |       |       |   `--COMMENT_CONTENT ->  what\n [106:18]
        |       |   |       |       `--IDENT -> i [107:16]
        |       |   |       `--SEMI -> ; [107:19]
        |       |   |--CASE_GROUP -> CASE_GROUP [109:12]
        |       |   |   |--SINGLE_LINE_COMMENT -> // [108:16]
        |       |   |   |   `--COMMENT_CONTENT ->  no break here\n [108:18]
        |       |   |   |--LITERAL_CASE -> case [109:12]
        |       |   |   |   |--EXPR -> EXPR [109:17]
        |       |   |   |   |   `--NUM_INT -> 0 [109:17]
        |       |   |   |   `--COLON -> : [109:18]
        |       |   |   `--SLIST -> SLIST [111:25]
        |       |   |       |--EXPR -> EXPR [111:25]
        |       |   |       |   `--METHOD_CALL -> ( [111:25]
        |       |   |       |       |--DOT -> . [111:17]
        |       |   |       |       |   |--SINGLE_LINE_COMMENT -> // [110:16]
        |       |   |       |       |   |   `--COMMENT_CONTENT ->  what\n [110:18]
        |       |   |       |       |   |--IDENT -> s [111:16]
        |       |   |       |       |   `--IDENT -> indexOf [111:18]
        |       |   |       |       |--ELIST -> ELIST [111:26]
        |       |   |       |       |   `--EXPR -> EXPR [111:26]
        |       |   |       |       |       `--STRING_LITERAL -> "ignore" [111:26]
        |       |   |       |       `--RPAREN -> ) [111:34]
        |       |   |       `--SEMI -> ; [111:35]
        |       |   |--CASE_GROUP -> CASE_GROUP [113:12]
        |       |   |   |--SINGLE_LINE_COMMENT -> // [112:16]
        |       |   |   |   `--COMMENT_CONTENT ->  no break here\n [112:18]
        |       |   |   |--LITERAL_CASE -> case [113:12]
        |       |   |   |   |--EXPR -> EXPR [113:17]
        |       |   |   |   |   `--UNARY_MINUS -> - [113:17]
        |       |   |   |   |       `--NUM_INT -> 1 [113:18]
        |       |   |   |   `--COLON -> : [113:19]
        |       |   |   `--SLIST -> SLIST [115:26]
        |       |   |       |--EXPR -> EXPR [115:26]
        |       |   |       |   `--METHOD_CALL -> ( [115:26]
        |       |   |       |       |--DOT -> . [115:18]
        |       |   |       |       |   |--SINGLE_LINE_COMMENT -> // [114:17]
        |       |   |       |       |   |   `--COMMENT_CONTENT ->  what\n [114:19]
        |       |   |       |       |   |--IDENT -> s [115:17]
        |       |   |       |       |   `--IDENT -> indexOf [115:19]
        |       |   |       |       |--ELIST -> ELIST [115:27]
        |       |   |       |       |   `--EXPR -> EXPR [115:27]
        |       |   |       |       |       `--STRING_LITERAL -> "no way" [115:27]
        |       |   |       |       `--RPAREN -> ) [115:35]
        |       |   |       `--SEMI -> ; [115:36]
        |       |   |--CASE_GROUP -> CASE_GROUP [117:12]
        |       |   |   |--SINGLE_LINE_COMMENT -> // [116:15]
        |       |   |   |   `--COMMENT_CONTENT ->  warn\n [116:17]
        |       |   |   |--LITERAL_CASE -> case [117:12]
        |       |   |   |   |--EXPR -> EXPR [117:17]
        |       |   |   |   |   `--NUM_INT -> 1 [117:17]
        |       |   |   |   `--COLON -> : [117:18]
        |       |   |   |--LITERAL_CASE -> case [118:12]
        |       |   |   |   |--EXPR -> EXPR [118:17]
        |       |   |   |   |   `--NUM_INT -> 2 [118:17]
        |       |   |   |   `--COLON -> : [118:18]
        |       |   |   `--SLIST -> SLIST [119:17]
        |       |   |       |--EXPR -> EXPR [119:17]
        |       |   |       |   `--POST_DEC -> -- [119:17]
        |       |   |       |       `--IDENT -> i [119:16]
        |       |   |       `--SEMI -> ; [119:19]
        |       |   |--CASE_GROUP -> CASE_GROUP [121:12]
        |       |   |   |--SINGLE_LINE_COMMENT -> // [120:16]
        |       |   |   |   `--COMMENT_CONTENT ->  no break here\n [120:18]
        |       |   |   |--LITERAL_CASE -> case [121:12]
        |       |   |   |   |--EXPR -> EXPR [121:17]
        |       |   |   |   |   `--NUM_INT -> 3 [121:17]
        |       |   |   |   `--COLON -> : [121:18]
        |       |   |   `--SLIST -> SLIST [121:20]
        |       |   |       `--SLIST -> { [121:20]
        |       |   |           `--RCURLY -> } [121:22]
        |       |   |--SINGLE_LINE_COMMENT -> // [122:12]
        |       |   |   `--COMMENT_CONTENT ->  fall through\n [122:14]
        |       |   `--RCURLY -> } [125:8]
        |       |--VARIABLE_DEF -> VARIABLE_DEF [127:8]
        |       |   |--MODIFIERS -> MODIFIERS [127:8]
        |       |   |--TYPE -> TYPE [127:8]
        |       |   |   `--IDENT -> String [127:8]
        |       |   |--IDENT -> breaks [127:15]
        |       |   `--ASSIGN -> = [127:22]
        |       |       `--EXPR -> EXPR [131:12]
        |       |           |--SINGLE_LINE_COMMENT -> // [130:12]
        |       |           |   `--COMMENT_CONTENT ->  middle\n [130:14]
        |       |           `--PLUS -> + [131:12]
        |       |               |--SINGLE_LINE_COMMENT -> // [128:8]
        |       |               |   `--COMMENT_CONTENT ->  warn\n [128:10]
        |       |               |--PLUS -> + [129:12]
        |       |               |   |--STRING_LITERAL -> "" [127:24]
        |       |               |   `--STRING_LITERAL -> "</table>" [129:14]
        |       |               `--STRING_LITERAL -> "" [131:14]
        |       |--SINGLE_LINE_COMMENT -> // [132:8]
        |       |   `--COMMENT_CONTENT ->  end\n [132:10]
        |       |--SEMI -> ; [133:8]
        |       `--RCURLY -> } [134:4]
        |--METHOD_DEF -> METHOD_DEF [140:4]
        |   |--MODIFIERS -> MODIFIERS [140:4]
        |   |   |--BLOCK_COMMENT_BEGIN -> /* [136:4]
        |   |   |   |--COMMENT_CONTENT -> *\n     * Javadoc here.\n     *\n      [136:6]
        |   |   |   `--BLOCK_COMMENT_END -> */ [139:5]
        |   |   `--LITERAL_PUBLIC -> public [140:4]
        |   |--TYPE -> TYPE [140:11]
        |   |   `--LITERAL_VOID -> void [140:11]
        |   |--IDENT -> foo2 [140:16]
        |   |--LPAREN -> ( [140:20]
        |   |--PARAMETERS -> PARAMETERS [140:21]
        |   |--RPAREN -> ) [140:21]
        |   `--SLIST -> { [140:23]
        |       |--VARIABLE_DEF -> VARIABLE_DEF [141:8]
        |       |   |--MODIFIERS -> MODIFIERS [141:8]
        |       |   |--TYPE -> TYPE [141:8]
        |       |   |   `--LITERAL_INT -> int [141:8]
        |       |   |--IDENT -> a [141:12]
        |       |   `--ASSIGN -> = [141:14]
        |       |       `--EXPR -> EXPR [141:16]
        |       |           `--NUM_INT -> 1 [141:16]
        |       |--SEMI -> ; [141:17]
        |       |--LITERAL_SWITCH -> switch [142:8]
        |       |   |--LPAREN -> ( [142:15]
        |       |   |--EXPR -> EXPR [142:16]
        |       |   |   `--IDENT -> a [142:16]
        |       |   |--RPAREN -> ) [142:17]
        |       |   |--LCURLY -> { [142:19]
        |       |   |--CASE_GROUP -> CASE_GROUP [143:12]
        |       |   |   |--LITERAL_CASE -> case [143:12]
        |       |   |   |   |--EXPR -> EXPR [143:17]
        |       |   |   |   |   `--NUM_INT -> 1 [143:17]
        |       |   |   |   |--BLOCK_COMMENT_BEGIN -> /* [143:18]
        |       |   |   |   |   |--COMMENT_CONTENT -> block comment\n             [143:20]
        |       |   |   |   |   `--BLOCK_COMMENT_END -> */ [144:12]
        |       |   |   |   `--COLON -> : [144:14]
        |       |   |   `--LITERAL_DEFAULT -> default [145:12]
        |       |   |       `--COLON -> : [145:19]
        |       |   |--SINGLE_LINE_COMMENT -> // [146:4]
        |       |   |   `--COMMENT_CONTENT ->  warn\n [146:6]
        |       |   `--RCURLY -> } [147:8]
        |       `--RCURLY -> } [148:4]
        |--METHOD_DEF -> METHOD_DEF [150:4]
        |   |--MODIFIERS -> MODIFIERS [150:4]
        |   |   `--LITERAL_PUBLIC -> public [150:4]
        |   |--TYPE -> TYPE [150:11]
        |   |   `--LITERAL_VOID -> void [150:11]
        |   |--IDENT -> foo3 [150:16]
        |   |--LPAREN -> ( [150:20]
        |   |--PARAMETERS -> PARAMETERS [150:21]
        |   |--RPAREN -> ) [150:21]
        |   `--SLIST -> { [150:23]
        |       |--VARIABLE_DEF -> VARIABLE_DEF [151:8]
        |       |   |--MODIFIERS -> MODIFIERS [151:8]
        |       |   |--TYPE -> TYPE [151:8]
        |       |   |   `--LITERAL_INT -> int [151:8]
        |       |   |--IDENT -> a [151:12]
        |       |   `--ASSIGN -> = [151:14]
        |       |       `--EXPR -> EXPR [151:39]
        |       |           |--BLOCK_COMMENT_BEGIN -> /* [151:15]
        |       |           |   |--COMMENT_CONTENT -> Block comment here  [151:17]
        |       |           |   `--BLOCK_COMMENT_END -> */ [151:35]
        |       |           `--NUM_INT -> 1 [151:39]
        |       |--SEMI -> ; [151:40]
        |       |--LITERAL_SWITCH -> switch [152:8]
        |       |   |--LPAREN -> ( [152:15]
        |       |   |--EXPR -> EXPR [152:16]
        |       |   |   `--IDENT -> a [152:16]
        |       |   |--RPAREN -> ) [152:17]
        |       |   |--LCURLY -> { [152:19]
        |       |   |--CASE_GROUP -> CASE_GROUP [153:12]
        |       |   |   |--LITERAL_CASE -> case [153:12]
        |       |   |   |   |--EXPR -> EXPR [153:17]
        |       |   |   |   |   `--NUM_INT -> 1 [153:17]
        |       |   |   |   `--COLON -> : [153:18]
        |       |   |   `--LITERAL_DEFAULT -> default [154:12]
        |       |   |       `--COLON -> : [154:19]
        |       |   |--SINGLE_LINE_COMMENT -> // [156:16]
        |       |   |   `--COMMENT_CONTENT ->  comment\n [156:18]
        |       |   `--RCURLY -> } [157:8]
        |       `--RCURLY -> } [158:4]
        |--METHOD_DEF -> METHOD_DEF [160:4]
        |   |--MODIFIERS -> MODIFIERS [160:4]
        |   |   `--LITERAL_PUBLIC -> public [160:4]
        |   |--TYPE -> TYPE [160:11]
        |   |   `--LITERAL_VOID -> void [160:11]
        |   |--IDENT -> foo4 [160:16]
        |   |--LPAREN -> ( [160:20]
        |   |--PARAMETERS -> PARAMETERS [160:21]
        |   |--RPAREN -> ) [160:21]
        |   `--SLIST -> { [160:23]
        |       |--VARIABLE_DEF -> VARIABLE_DEF [161:8]
        |       |   |--MODIFIERS -> MODIFIERS [161:8]
        |       |   |--TYPE -> TYPE [161:8]
        |       |   |   `--LITERAL_INT -> int [161:8]
        |       |   |--IDENT -> a [161:12]
        |       |   `--ASSIGN -> = [161:14]
        |       |       `--EXPR -> EXPR [161:16]
        |       |           `--NUM_INT -> 1 [161:16]
        |       |--SEMI -> ; [161:17]
        |       |--LITERAL_SWITCH -> switch [162:8]
        |       |   |--LPAREN -> ( [162:15]
        |       |   |--EXPR -> EXPR [162:16]
        |       |   |   `--IDENT -> a [162:16]
        |       |   |--RPAREN -> ) [162:17]
        |       |   |--LCURLY -> { [162:19]
        |       |   |--CASE_GROUP -> CASE_GROUP [163:12]
        |       |   |   |--LITERAL_CASE -> case [163:12]
        |       |   |   |   |--EXPR -> EXPR [163:17]
        |       |   |   |   |   `--NUM_INT -> 1 [163:17]
        |       |   |   |   `--COLON -> : [163:18]
        |       |   |   `--SLIST -> SLIST [164:16]
        |       |   |       |--VARIABLE_DEF -> VARIABLE_DEF [164:16]
        |       |   |       |   |--MODIFIERS -> MODIFIERS [164:16]
        |       |   |       |   |--TYPE -> TYPE [164:16]
        |       |   |       |   |   `--LITERAL_INT -> int [164:16]
        |       |   |       |   `--IDENT -> b [164:20]
        |       |   |       `--SEMI -> ; [164:21]
        |       |   |--CASE_GROUP -> CASE_GROUP [166:12]
        |       |   |   |--SINGLE_LINE_COMMENT -> // [165:18]
        |       |   |   |   `--COMMENT_CONTENT ->  warn\n [165:20]
        |       |   |   `--LITERAL_DEFAULT -> default [166:12]
        |       |   |       `--COLON -> : [166:19]
        |       |   `--RCURLY -> } [167:8]
        |       `--RCURLY -> } [168:4]
        |--METHOD_DEF -> METHOD_DEF [170:4]
        |   |--MODIFIERS -> MODIFIERS [170:4]
        |   |   `--LITERAL_PUBLIC -> public [170:4]
        |   |--TYPE -> TYPE [170:11]
        |   |   `--LITERAL_VOID -> void [170:11]
        |   |--IDENT -> foo5 [170:16]
        |   |--LPAREN -> ( [170:20]
        |   |--PARAMETERS -> PARAMETERS [170:21]
        |   |--RPAREN -> ) [170:21]
        |   `--SLIST -> { [170:23]
        |       |--VARIABLE_DEF -> VARIABLE_DEF [171:8]
        |       |   |--MODIFIERS -> MODIFIERS [171:8]
        |       |   |--TYPE -> TYPE [171:8]
        |       |   |   `--LITERAL_INT -> int [171:8]
        |       |   |--IDENT -> a [171:12]
        |       |   `--ASSIGN -> = [171:14]
        |       |       `--EXPR -> EXPR [171:16]
        |       |           `--NUM_INT -> 1 [171:16]
        |       |--SEMI -> ; [171:17]
        |       |--LITERAL_SWITCH -> switch [172:8]
        |       |   |--LPAREN -> ( [172:15]
        |       |   |--EXPR -> EXPR [172:16]
        |       |   |   `--IDENT -> a [172:16]
        |       |   |--RPAREN -> ) [172:17]
        |       |   |--LCURLY -> { [172:19]
        |       |   |--CASE_GROUP -> CASE_GROUP [173:12]
        |       |   |   |--LITERAL_CASE -> case [173:12]
        |       |   |   |   |--EXPR -> EXPR [173:17]
        |       |   |   |   |   `--NUM_INT -> 1 [173:17]
        |       |   |   |   `--COLON -> : [173:18]
        |       |   |   `--SLIST -> SLIST [174:16]
        |       |   |       |--VARIABLE_DEF -> VARIABLE_DEF [174:16]
        |       |   |       |   |--MODIFIERS -> MODIFIERS [174:16]
        |       |   |       |   |--TYPE -> TYPE [174:16]
        |       |   |       |   |   `--LITERAL_INT -> int [174:16]
        |       |   |       |   `--IDENT -> b [174:20]
        |       |   |       `--SEMI -> ; [174:21]
        |       |   |--CASE_GROUP -> CASE_GROUP [176:12]
        |       |   |   |--SINGLE_LINE_COMMENT -> // [175:12]
        |       |   |   |   `--COMMENT_CONTENT ->  comment\n [175:14]
        |       |   |   `--LITERAL_DEFAULT -> default [176:12]
        |       |   |       `--COLON -> : [176:19]
        |       |   `--RCURLY -> } [177:8]
        |       `--RCURLY -> } [178:4]
        |--METHOD_DEF -> METHOD_DEF [180:4]
        |   |--MODIFIERS -> MODIFIERS [180:4]
        |   |   `--LITERAL_PUBLIC -> public [180:4]
        |   |--TYPE -> TYPE [180:11]
        |   |   `--LITERAL_VOID -> void [180:11]
        |   |--IDENT -> foo6 [180:16]
        |   |--LPAREN -> ( [180:20]
        |   |--PARAMETERS -> PARAMETERS [180:21]
        |   |--RPAREN -> ) [180:21]
        |   `--SLIST -> { [180:23]
        |       |--VARIABLE_DEF -> VARIABLE_DEF [181:8]
        |       |   |--MODIFIERS -> MODIFIERS [181:8]
        |       |   |--TYPE -> TYPE [181:8]
        |       |   |   `--LITERAL_INT -> int [181:8]
        |       |   |--IDENT -> a [181:12]
        |       |   `--ASSIGN -> = [181:14]
        |       |       `--EXPR -> EXPR [181:16]
        |       |           `--NUM_INT -> 1 [181:16]
        |       |--SEMI -> ; [181:17]
        |       |--LITERAL_SWITCH -> switch [182:8]
        |       |   |--LPAREN -> ( [182:15]
        |       |   |--EXPR -> EXPR [182:16]
        |       |   |   `--IDENT -> a [182:16]
        |       |   |--RPAREN -> ) [182:17]
        |       |   |--LCURLY -> { [182:19]
        |       |   |--CASE_GROUP -> CASE_GROUP [183:12]
        |       |   |   |--LITERAL_CASE -> case [183:12]
        |       |   |   |   |--EXPR -> EXPR [183:17]
        |       |   |   |   |   `--NUM_INT -> 1 [183:17]
        |       |   |   |   `--COLON -> : [183:18]
        |       |   |   `--SLIST -> SLIST [184:16]
        |       |   |       |--VARIABLE_DEF -> VARIABLE_DEF [184:16]
        |       |   |       |   |--MODIFIERS -> MODIFIERS [184:16]
        |       |   |       |   |--TYPE -> TYPE [184:16]
        |       |   |       |   |   `--LITERAL_INT -> int [184:16]
        |       |   |       |   `--IDENT -> b [184:20]
        |       |   |       `--SEMI -> ; [184:21]
        |       |   |--CASE_GROUP -> CASE_GROUP [186:12]
        |       |   |   |--SINGLE_LINE_COMMENT -> // [185:16]
        |       |   |   |   `--COMMENT_CONTENT ->  comment\n [185:18]
        |       |   |   `--LITERAL_DEFAULT -> default [186:12]
        |       |   |       `--COLON -> : [186:19]
        |       |   `--RCURLY -> } [187:8]
        |       `--RCURLY -> } [188:4]
        |--METHOD_DEF -> METHOD_DEF [190:4]
        |   |--MODIFIERS -> MODIFIERS [190:4]
        |   |   `--LITERAL_PUBLIC -> public [190:4]
        |   |--TYPE -> TYPE [190:11]
        |   |   `--LITERAL_VOID -> void [190:11]
        |   |--IDENT -> foo7 [190:16]
        |   |--LPAREN -> ( [190:20]
        |   |--PARAMETERS -> PARAMETERS [190:21]
        |   |--RPAREN -> ) [190:21]
        |   `--SLIST -> { [190:23]
        |       |--VARIABLE_DEF -> VARIABLE_DEF [191:8]
        |       |   |--MODIFIERS -> MODIFIERS [191:8]
        |       |   |--TYPE -> TYPE [191:8]
        |       |   |   `--LITERAL_INT -> int [191:8]
        |       |   |--IDENT -> a [191:12]
        |       |   `--ASSIGN -> = [191:14]
        |       |       `--EXPR -> EXPR [191:16]
        |       |           `--NUM_INT -> 2 [191:16]
        |       |--SEMI -> ; [191:17]
        |       |--VARIABLE_DEF -> VARIABLE_DEF [192:8]
        |       |   |--MODIFIERS -> MODIFIERS [192:8]
        |       |   |--TYPE -> TYPE [192:8]
        |       |   |   `--IDENT -> String [192:8]
        |       |   |--IDENT -> s [192:15]
        |       |   `--ASSIGN -> = [192:17]
        |       |       `--EXPR -> EXPR [192:19]
        |       |           `--STRING_LITERAL -> "" [192:19]
        |       |--SEMI -> ; [192:21]
        |       |--LITERAL_SWITCH -> switch [193:8]
        |       |   |--LPAREN -> ( [193:15]
        |       |   |--EXPR -> EXPR [193:16]
        |       |   |   `--IDENT -> a [193:16]
        |       |   |--RPAREN -> ) [193:17]
        |       |   |--LCURLY -> { [193:19]
        |       |   |--CASE_GROUP -> CASE_GROUP [197:12]
        |       |   |   |--SINGLE_LINE_COMMENT -> // [194:12]
        |       |   |   |   `--COMMENT_CONTENT ->  comment\n [194:14]
        |       |   |   |--SINGLE_LINE_COMMENT -> // [195:12]
        |       |   |   |   `--COMMENT_CONTENT ->  comment\n [195:14]
        |       |   |   |--SINGLE_LINE_COMMENT -> // [196:12]
        |       |   |   |   `--COMMENT_CONTENT ->  comment\n [196:14]
        |       |   |   |--LITERAL_CASE -> case [197:12]
        |       |   |   |   |--EXPR -> EXPR [197:17]
        |       |   |   |   |   `--NUM_INT -> 1 [197:17]
        |       |   |   |   `--COLON -> : [197:18]
        |       |   |   |--LITERAL_CASE -> case [198:12]
        |       |   |   |   |--EXPR -> EXPR [198:17]
        |       |   |   |   |   `--NUM_INT -> 2 [198:17]
        |       |   |   |   `--COLON -> : [198:18]
        |       |   |   `--SLIST -> SLIST [201:20]
        |       |   |       |--EXPR -> EXPR [201:20]
        |       |   |       |   `--METHOD_CALL -> ( [201:20]
        |       |   |       |       |--SINGLE_LINE_COMMENT -> // [199:16]
        |       |   |       |       |   `--COMMENT_CONTENT ->  comment\n [199:18]
        |       |   |       |       |--SINGLE_LINE_COMMENT -> // [200:16]
        |       |   |       |       |   `--COMMENT_CONTENT ->  comment\n [200:18]
        |       |   |       |       |--IDENT -> foo1 [201:16]
        |       |   |       |       |--ELIST -> ELIST [201:21]
        |       |   |       |       `--RPAREN -> ) [201:21]
        |       |   |       `--SEMI -> ; [201:22]
        |       |   |--CASE_GROUP -> CASE_GROUP [203:12]
        |       |   |   |--SINGLE_LINE_COMMENT -> // [202:16]
        |       |   |   |   `--COMMENT_CONTENT ->  comment\n [202:18]
        |       |   |   |--LITERAL_CASE -> case [203:12]
        |       |   |   |   |--EXPR -> EXPR [203:17]
        |       |   |   |   |   `--NUM_INT -> 3 [203:17]
        |       |   |   |   `--COLON -> : [203:18]
        |       |   |   |--SINGLE_LINE_COMMENT -> // [204:16]
        |       |   |   |   `--COMMENT_CONTENT ->  comment\n [204:18]
        |       |   |   |--SINGLE_LINE_COMMENT -> // [205:16]
        |       |   |   |   `--COMMENT_CONTENT ->  comment\n [205:18]
        |       |   |   |--SINGLE_LINE_COMMENT -> // [206:16]
        |       |   |   |   `--COMMENT_CONTENT ->  comment\n [206:18]
        |       |   |   |--LITERAL_CASE -> case [207:12]
        |       |   |   |   |--EXPR -> EXPR [207:17]
        |       |   |   |   |   `--NUM_INT -> 4 [207:17]
        |       |   |   |   `--COLON -> : [207:18]
        |       |   |   |--SINGLE_LINE_COMMENT -> // [208:4]
        |       |   |   |   `--COMMENT_CONTENT ->  warn\n [208:6]
        |       |   |   |--LITERAL_CASE -> case [209:12]
        |       |   |   |   |--EXPR -> EXPR [209:17]
        |       |   |   |   |   `--NUM_INT -> 5 [209:17]
        |       |   |   |   `--COLON -> : [209:18]
        |       |   |   `--SLIST -> SLIST [210:48]
        |       |   |       |--EXPR -> EXPR [210:48]
        |       |   |       |   `--METHOD_CALL -> ( [210:48]
        |       |   |       |       |--DOT -> . [210:39]
        |       |   |       |       |   |--METHOD_CALL -> ( [210:37]
        |       |   |       |       |   |   |--DOT -> . [210:28]
        |       |   |       |       |   |   |   |--METHOD_CALL -> ( [210:26]
        |       |   |       |       |   |   |   |   |--DOT -> . [210:17]
        |       |   |       |       |   |   |   |   |   |--IDENT -> s [210:16]
        |       |   |       |       |   |   |   |   |   `--IDENT -> toString [210:18]
        |       |   |       |       |   |   |   |   |--ELIST -> ELIST [210:27]
        |       |   |       |       |   |   |   |   `--RPAREN -> ) [210:27]
        |       |   |       |       |   |   |   `--IDENT -> toString [210:29]
        |       |   |       |       |   |   |--ELIST -> ELIST [210:38]
        |       |   |       |       |   |   `--RPAREN -> ) [210:38]
        |       |   |       |       |   `--IDENT -> toString [210:40]
        |       |   |       |       |--ELIST -> ELIST [210:49]
        |       |   |       |       `--RPAREN -> ) [210:49]
        |       |   |       `--SEMI -> ; [210:50]
        |       |   |--CASE_GROUP -> CASE_GROUP [214:12]
        |       |   |   |--SINGLE_LINE_COMMENT -> // [211:22]
        |       |   |   |   `--COMMENT_CONTENT ->  warn\n [211:24]
        |       |   |   |--SINGLE_LINE_COMMENT -> // [212:20]
        |       |   |   |   `--COMMENT_CONTENT ->  warn\n [212:22]
        |       |   |   |--SINGLE_LINE_COMMENT -> // [213:17]
        |       |   |   |   `--COMMENT_CONTENT ->  warn\n [213:19]
        |       |   |   `--LITERAL_DEFAULT -> default [214:12]
        |       |   |       `--COLON -> : [214:19]
        |       |   `--RCURLY -> } [215:8]
        |       `--RCURLY -> } [216:4]
        |--METHOD_DEF -> METHOD_DEF [218:4]
        |   |--MODIFIERS -> MODIFIERS [218:4]
        |   |   `--LITERAL_PUBLIC -> public [218:4]
        |   |--TYPE -> TYPE [218:11]
        |   |   `--LITERAL_VOID -> void [218:11]
        |   |--IDENT -> foo8 [218:16]
        |   |--LPAREN -> ( [218:20]
        |   |--PARAMETERS -> PARAMETERS [218:21]
        |   |--RPAREN -> ) [218:21]
        |   `--SLIST -> { [218:23]
        |       |--VARIABLE_DEF -> VARIABLE_DEF [219:8]
        |       |   |--MODIFIERS -> MODIFIERS [219:8]
        |       |   |--TYPE -> TYPE [219:8]
        |       |   |   `--LITERAL_INT -> int [219:8]
        |       |   |--IDENT -> a [219:12]
        |       |   `--ASSIGN -> = [219:14]
        |       |       `--EXPR -> EXPR [219:16]
        |       |           `--NUM_INT -> 2 [219:16]
        |       |--SEMI -> ; [219:17]
        |       |--VARIABLE_DEF -> VARIABLE_DEF [220:8]
        |       |   |--MODIFIERS -> MODIFIERS [220:8]
        |       |   |--TYPE -> TYPE [220:8]
        |       |   |   `--IDENT -> String [220:8]
        |       |   |--IDENT -> s [220:15]
        |       |   `--ASSIGN -> = [220:17]
        |       |       `--EXPR -> EXPR [220:19]
        |       |           `--STRING_LITERAL -> "" [220:19]
        |       |--SEMI -> ; [220:21]
        |       |--LITERAL_SWITCH -> switch [221:8]
        |       |   |--LPAREN -> ( [221:15]
        |       |   |--EXPR -> EXPR [221:16]
        |       |   |   `--IDENT -> a [221:16]
        |       |   |--RPAREN -> ) [221:17]
        |       |   |--LCURLY -> { [221:19]
        |       |   |--CASE_GROUP -> CASE_GROUP [225:12]
        |       |   |   |--SINGLE_LINE_COMMENT -> // [222:12]
        |       |   |   |   `--COMMENT_CONTENT ->  comment\n [222:14]
        |       |   |   |--SINGLE_LINE_COMMENT -> // [223:12]
        |       |   |   |   `--COMMENT_CONTENT ->  comment\n [223:14]
        |       |   |   |--SINGLE_LINE_COMMENT -> // [224:12]
        |       |   |   |   `--COMMENT_CONTENT ->  comment\n [224:14]
        |       |   |   |--LITERAL_CASE -> case [225:12]
        |       |   |   |   |--EXPR -> EXPR [225:17]
        |       |   |   |   |   `--NUM_INT -> 1 [225:17]
        |       |   |   |   `--COLON -> : [225:18]
        |       |   |   |--LITERAL_CASE -> case [226:12]
        |       |   |   |   |--EXPR -> EXPR [226:17]
        |       |   |   |   |   `--NUM_INT -> 2 [226:17]
        |       |   |   |   `--COLON -> : [226:18]
        |       |   |   `--SLIST -> SLIST [229:20]
        |       |   |       |--EXPR -> EXPR [229:20]
        |       |   |       |   `--METHOD_CALL -> ( [229:20]
        |       |   |       |       |--SINGLE_LINE_COMMENT -> // [227:16]
        |       |   |       |       |   `--COMMENT_CONTENT ->  comment\n [227:18]
        |       |   |       |       |--SINGLE_LINE_COMMENT -> // [228:16]
        |       |   |       |       |   `--COMMENT_CONTENT ->  comment\n [228:18]
        |       |   |       |       |--IDENT -> foo1 [229:16]
        |       |   |       |       |--ELIST -> ELIST [229:21]
        |       |   |       |       `--RPAREN -> ) [229:21]
        |       |   |       `--SEMI -> ; [229:22]
        |       |   |--CASE_GROUP -> CASE_GROUP [231:12]
        |       |   |   |--SINGLE_LINE_COMMENT -> // [230:16]
        |       |   |   |   `--COMMENT_CONTENT ->  comment\n [230:18]
        |       |   |   |--LITERAL_CASE -> case [231:12]
        |       |   |   |   |--EXPR -> EXPR [231:17]
        |       |   |   |   |   `--NUM_INT -> 3 [231:17]
        |       |   |   |   `--COLON -> : [231:18]
        |       |   |   `--SLIST -> SLIST [234:48]
        |       |   |       |--EXPR -> EXPR [234:48]
        |       |   |       |   `--METHOD_CALL -> ( [234:48]
        |       |   |       |       |--DOT -> . [234:39]
        |       |   |       |       |   |--METHOD_CALL -> ( [234:37]
        |       |   |       |       |   |   |--DOT -> . [234:28]
        |       |   |       |       |   |   |   |--METHOD_CALL -> ( [234:26]
        |       |   |       |       |   |   |   |   |--DOT -> . [234:17]
        |       |   |       |       |   |   |   |   |   |--SINGLE_LINE_COMMENT -> // [232:16]
        |       |   |       |       |   |   |   |   |   |   `--COMMENT_CONTENT ->  comment\n [232:18]
        |       |   |       |       |   |   |   |   |   |--SINGLE_LINE_COMMENT -> // [233:16]
        |       |   |       |       |   |   |   |   |   |   `--COMMENT_CONTENT ->  comment\n [233:18]
        |       |   |       |       |   |   |   |   |   |--IDENT -> s [234:16]
        |       |   |       |       |   |   |   |   |   `--IDENT -> toString [234:18]
        |       |   |       |       |   |   |   |   |--ELIST -> ELIST [234:27]
        |       |   |       |       |   |   |   |   `--RPAREN -> ) [234:27]
        |       |   |       |       |   |   |   `--IDENT -> toString [234:29]
        |       |   |       |       |   |   |--ELIST -> ELIST [234:38]
        |       |   |       |       |   |   `--RPAREN -> ) [234:38]
        |       |   |       |       |   `--IDENT -> toString [234:40]
        |       |   |       |       |--ELIST -> ELIST [234:49]
        |       |   |       |       `--RPAREN -> ) [234:49]
        |       |   |       `--SEMI -> ; [234:50]
        |       |   |--CASE_GROUP -> CASE_GROUP [236:12]
        |       |   |   |--SINGLE_LINE_COMMENT -> // [235:16]
        |       |   |   |   `--COMMENT_CONTENT ->  comment\n [235:18]
        |       |   |   |--LITERAL_CASE -> case [236:12]
        |       |   |   |   |--EXPR -> EXPR [236:17]
        |       |   |   |   |   `--NUM_INT -> 4 [236:17]
        |       |   |   |   `--COLON -> : [236:18]
        |       |   |   |--SINGLE_LINE_COMMENT -> // [237:6]
        |       |   |   |   `--COMMENT_CONTENT ->  warn\n [237:8]
        |       |   |   `--LITERAL_DEFAULT -> default [238:12]
        |       |   |       `--COLON -> : [238:19]
        |       |   `--RCURLY -> } [239:8]
        |       `--RCURLY -> } [240:4]
        |--METHOD_DEF -> METHOD_DEF [242:4]
        |   |--MODIFIERS -> MODIFIERS [242:4]
        |   |   `--LITERAL_PUBLIC -> public [242:4]
        |   |--TYPE -> TYPE [242:11]
        |   |   `--LITERAL_VOID -> void [242:11]
        |   |--IDENT -> foo9 [242:16]
        |   |--LPAREN -> ( [242:20]
        |   |--PARAMETERS -> PARAMETERS [242:21]
        |   |--RPAREN -> ) [242:21]
        |   `--SLIST -> { [242:23]
        |       |--VARIABLE_DEF -> VARIABLE_DEF [243:8]
        |       |   |--MODIFIERS -> MODIFIERS [243:8]
        |       |   |--TYPE -> TYPE [243:8]
        |       |   |   `--LITERAL_INT -> int [243:8]
        |       |   |--IDENT -> a [243:12]
        |       |   `--ASSIGN -> = [243:14]
        |       |       `--EXPR -> EXPR [243:16]
        |       |           `--NUM_INT -> 5 [243:16]
        |       |--SEMI -> ; [243:17]
        |       |--LITERAL_SWITCH -> switch [244:8]
        |       |   |--LPAREN -> ( [244:15]
        |       |   |--EXPR -> EXPR [244:16]
        |       |   |   `--IDENT -> a [244:16]
        |       |   |--RPAREN -> ) [244:17]
        |       |   |--LCURLY -> { [244:19]
        |       |   |--CASE_GROUP -> CASE_GROUP [245:12]
        |       |   |   |--LITERAL_CASE -> case [245:12]
        |       |   |   |   |--EXPR -> EXPR [245:17]
        |       |   |   |   |   `--NUM_INT -> 1 [245:17]
        |       |   |   |   `--COLON -> : [245:18]
        |       |   |   `--LITERAL_CASE -> case [246:12]
        |       |   |       |--EXPR -> EXPR [246:17]
        |       |   |       |   `--NUM_INT -> 2 [246:17]
        |       |   |       `--COLON -> : [246:18]
        |       |   |--SINGLE_LINE_COMMENT -> // [247:16]
        |       |   |   `--COMMENT_CONTENT ->  comment\n [247:18]
        |       |   `--RCURLY -> } [248:8]
        |       `--RCURLY -> } [249:4]
        |--METHOD_DEF -> METHOD_DEF [251:4]
        |   |--MODIFIERS -> MODIFIERS [251:4]
        |   |   `--LITERAL_PUBLIC -> public [251:4]
        |   |--TYPE -> TYPE [251:11]
        |   |   `--LITERAL_VOID -> void [251:11]
        |   |--IDENT -> foo10 [251:16]
        |   |--LPAREN -> ( [251:21]
        |   |--PARAMETERS -> PARAMETERS [251:22]
        |   |--RPAREN -> ) [251:22]
        |   `--SLIST -> { [251:24]
        |       |--VARIABLE_DEF -> VARIABLE_DEF [252:8]
        |       |   |--MODIFIERS -> MODIFIERS [252:8]
        |       |   |--TYPE -> TYPE [252:8]
        |       |   |   `--LITERAL_INT -> int [252:8]
        |       |   |--IDENT -> a [252:12]
        |       |   `--ASSIGN -> = [252:14]
        |       |       `--EXPR -> EXPR [252:16]
        |       |           `--NUM_INT -> 5 [252:16]
        |       |--SEMI -> ; [252:17]
        |       |--LITERAL_SWITCH -> switch [253:8]
        |       |   |--LPAREN -> ( [253:15]
        |       |   |--EXPR -> EXPR [253:16]
        |       |   |   `--IDENT -> a [253:16]
        |       |   |--RPAREN -> ) [253:17]
        |       |   |--LCURLY -> { [253:19]
        |       |   |--CASE_GROUP -> CASE_GROUP [254:12]
        |       |   |   |--LITERAL_CASE -> case [254:12]
        |       |   |   |   |--EXPR -> EXPR [254:17]
        |       |   |   |   |   `--NUM_INT -> 1 [254:17]
        |       |   |   |   `--COLON -> : [254:18]
        |       |   |   `--LITERAL_DEFAULT -> default [255:12]
        |       |   |       `--COLON -> : [255:19]
        |       |   |--SINGLE_LINE_COMMENT -> // [256:16]
        |       |   |   `--COMMENT_CONTENT ->  comment\n [256:18]
        |       |   `--RCURLY -> } [257:8]
        |       `--RCURLY -> } [258:4]
        |--METHOD_DEF -> METHOD_DEF [260:4]
        |   |--MODIFIERS -> MODIFIERS [260:4]
        |   |   `--LITERAL_PUBLIC -> public [260:4]
        |   |--TYPE -> TYPE [260:11]
        |   |   `--LITERAL_VOID -> void [260:11]
        |   |--IDENT -> foo11 [260:16]
        |   |--LPAREN -> ( [260:21]
        |   |--PARAMETERS -> PARAMETERS [260:22]
        |   |--RPAREN -> ) [260:22]
        |   `--SLIST -> { [260:24]
        |       |--VARIABLE_DEF -> VARIABLE_DEF [261:8]
        |       |   |--MODIFIERS -> MODIFIERS [261:8]
        |       |   |--TYPE -> TYPE [261:8]
        |       |   |   `--LITERAL_INT -> int [261:8]
        |       |   |--IDENT -> a [261:12]
        |       |   `--ASSIGN -> = [261:14]
        |       |       `--EXPR -> EXPR [261:16]
        |       |           `--NUM_INT -> 5 [261:16]
        |       |--SEMI -> ; [261:17]
        |       |--LITERAL_SWITCH -> switch [262:8]
        |       |   |--LPAREN -> ( [262:15]
        |       |   |--EXPR -> EXPR [262:16]
        |       |   |   `--IDENT -> a [262:16]
        |       |   |--RPAREN -> ) [262:17]
        |       |   |--LCURLY -> { [262:19]
        |       |   |--CASE_GROUP -> CASE_GROUP [263:12]
        |       |   |   |--LITERAL_CASE -> case [263:12]
        |       |   |   |   |--EXPR -> EXPR [263:17]
        |       |   |   |   |   `--NUM_INT -> 1 [263:17]
        |       |   |   |   `--COLON -> : [263:18]
        |       |   |   `--LITERAL_CASE -> case [264:12]
        |       |   |       |--EXPR -> EXPR [264:17]
        |       |   |       |   `--NUM_INT -> 2 [264:17]
        |       |   |       `--COLON -> : [264:18]
        |       |   |--SINGLE_LINE_COMMENT -> // [265:16]
        |       |   |   `--COMMENT_CONTENT ->  comment\n [265:18]
        |       |   `--RCURLY -> } [266:8]
        |       `--RCURLY -> } [267:4]
        |--METHOD_DEF -> METHOD_DEF [269:4]
        |   |--MODIFIERS -> MODIFIERS [269:4]
        |   |   `--LITERAL_PUBLIC -> public [269:4]
        |   |--TYPE -> TYPE [269:11]
        |   |   `--LITERAL_VOID -> void [269:11]
        |   |--IDENT -> foo12 [269:16]
        |   |--LPAREN -> ( [269:21]
        |   |--PARAMETERS -> PARAMETERS [269:22]
        |   |--RPAREN -> ) [269:22]
        |   `--SLIST -> { [269:24]
        |       |--VARIABLE_DEF -> VARIABLE_DEF [270:8]
        |       |   |--MODIFIERS -> MODIFIERS [270:8]
        |       |   |--TYPE -> TYPE [270:8]
        |       |   |   `--LITERAL_INT -> int [270:8]
        |       |   |--IDENT -> a [270:12]
        |       |   `--ASSIGN -> = [270:14]
        |       |       `--EXPR -> EXPR [270:16]
        |       |           `--NUM_INT -> 5 [270:16]
        |       |--SEMI -> ; [270:17]
        |       |--LITERAL_SWITCH -> switch [271:8]
        |       |   |--LPAREN -> ( [271:15]
        |       |   |--EXPR -> EXPR [271:16]
        |       |   |   `--IDENT -> a [271:16]
        |       |   |--RPAREN -> ) [271:17]
        |       |   |--LCURLY -> { [271:19]
        |       |   |--CASE_GROUP -> CASE_GROUP [273:12]
        |       |   |   |--SINGLE_LINE_COMMENT -> // [272:12]
        |       |   |   |   `--COMMENT_CONTENT ->  comment\n [272:14]
        |       |   |   `--LITERAL_CASE -> case [273:12]
        |       |   |       |--EXPR -> EXPR [273:17]
        |       |   |       |   `--NUM_INT -> 1 [273:17]
        |       |   |       `--COLON -> : [273:18]
        |       |   `--RCURLY -> } [274:8]
        |       `--RCURLY -> } [275:4]
        `--RCURLY -> } [276:0]
