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