COMPILATION_UNIT -> COMPILATION_UNIT [1:0]
|--PACKAGE_DEF -> package [1:0]
|   |--ANNOTATIONS -> ANNOTATIONS [5:24]
|   |--DOT -> . [5:24]
|   |   |--DOT -> . [5:16]
|   |   |   |--DOT -> . [3:21]
|   |   |   |   |--DOT -> . [2:39]
|   |   |   |   |   |--DOT -> . [2:28]
|   |   |   |   |   |   |--IDENT -> com [2:9]
|   |   |   |   |   |   `--IDENT -> puppycrawl [2:29]
|   |   |   |   |   `--IDENT -> tools [3:16]
|   |   |   |   `--IDENT -> checkstyle [4:16]
|   |   |   `--IDENT -> grammar [5:17]
|   |   `--IDENT -> antlr4 [6:16]
|   `--SEMI -> ; [7:8]
|--IMPORT -> import [9:0]
|   |--DOT -> . [9:16]
|   |   |--DOT -> . [9:11]
|   |   |   |--IDENT -> java [9:7]
|   |   |   `--IDENT -> util [9:12]
|   |   `--IDENT -> ArrayList [9:17]
|   `--SEMI -> ; [9:26]
|--IMPORT -> import [10:0]
|   |--DOT -> . [10:16]
|   |   |--DOT -> . [10:11]
|   |   |   |--IDENT -> java [10:7]
|   |   |   `--IDENT -> util [10:12]
|   |   `--IDENT -> List [10:17]
|   `--SEMI -> ; [10:21]
`--CLASS_DEF -> CLASS_DEF [12:0]
    |--MODIFIERS -> MODIFIERS [12:0]
    |   `--LITERAL_PUBLIC -> public [12:0]
    |--LITERAL_CLASS -> class [12:7]
    |--IDENT -> InputAntlr4AstRegressionUncommon2 [12:13]
    `--OBJBLOCK -> OBJBLOCK [12:47]
        |--LCURLY -> { [12:47]
        |--ANNOTATION_DEF -> ANNOTATION_DEF [13:4]
        |   |--MODIFIERS -> MODIFIERS [13:4]
        |   |   `--LITERAL_PUBLIC -> public [13:4]
        |   |--AT -> @ [13:11]
        |   |--LITERAL_INTERFACE -> interface [13:12]
        |   |--IDENT -> PackgeAnno [13:22]
        |   `--OBJBLOCK -> OBJBLOCK [13:33]
        |       |--LCURLY -> { [13:33]
        |       `--RCURLY -> } [14:4]
        |--VARIABLE_DEF -> VARIABLE_DEF [15:4]
        |   |--MODIFIERS -> MODIFIERS [15:4]
        |   |   `--ANNOTATION -> ANNOTATION [15:4]
        |   |       |--AT -> @ [15:4]
        |   |       `--IDENT -> Nullable [15:5]
        |   |--TYPE -> TYPE [15:14]
        |   |   |--IDENT -> List [15:14]
        |   |   `--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [15:18]
        |   |       |--GENERIC_START -> < [15:18]
        |   |       |--TYPE_ARGUMENT -> TYPE_ARGUMENT [15:19]
        |   |       |   `--IDENT -> Integer [15:19]
        |   |       `--GENERIC_END -> > [15:26]
        |   |--IDENT -> x [15:28]
        |   |--ASSIGN -> = [15:30]
        |   |   `--EXPR -> EXPR [15:32]
        |   |       `--LITERAL_NEW -> new [15:32]
        |   |           |--IDENT -> ArrayList [15:36]
        |   |           |--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [15:45]
        |   |           |   |--GENERIC_START -> < [15:45]
        |   |           |   |--TYPE_ARGUMENT -> TYPE_ARGUMENT [15:46]
        |   |           |   |   `--IDENT -> Integer [15:46]
        |   |           |   `--GENERIC_END -> > [15:53]
        |   |           |--LPAREN -> ( [15:54]
        |   |           |--ELIST -> ELIST [15:55]
        |   |           `--RPAREN -> ) [15:55]
        |   `--SEMI -> ; [15:56]
        |--ENUM_DEF -> ENUM_DEF [16:4]
        |   |--MODIFIERS -> MODIFIERS [16:4]
        |   |--ENUM -> enum [16:4]
        |   |--IDENT -> FPMethodArgs [17:4]
        |   `--OBJBLOCK -> OBJBLOCK [18:4]
        |       |--LCURLY -> { [18:4]
        |       |--ENUM_CONSTANT_DEF -> ENUM_CONSTANT_DEF [20:8]
        |       |   |--ANNOTATIONS -> ANNOTATIONS [20:8]
        |       |   `--IDENT -> IGNN [20:8]
        |       |--COMMA -> , [20:12]
        |       |--ENUM_CONSTANT_DEF -> ENUM_CONSTANT_DEF [21:8]
        |       |   |--ANNOTATIONS -> ANNOTATIONS [21:8]
        |       |   `--IDENT -> IIGNN [21:8]
        |       |--COMMA -> , [21:13]
        |       |--ENUM_CONSTANT_DEF -> ENUM_CONSTANT_DEF [22:8]
        |       |   |--ANNOTATIONS -> ANNOTATIONS [22:8]
        |       |   `--IDENT -> GNNII [22:8]
        |       |--COMMA -> , [22:13]
        |       |--ENUM_CONSTANT_DEF -> ENUM_CONSTANT_DEF [23:8]
        |       |   |--ANNOTATIONS -> ANNOTATIONS [23:8]
        |       |   `--IDENT -> GNNC [23:8]
        |       |--SEMI -> ; [23:12]
        |       |--SEMI -> ; [23:13]
        |       |--SEMI -> ; [23:14]
        |       |--SEMI -> ; [23:15]
        |       |--SEMI -> ; [23:16]
        |       `--RCURLY -> } [24:4]
        |--INTERFACE_DEF -> INTERFACE_DEF [25:4]
        |   |--MODIFIERS -> MODIFIERS [25:4]
        |   |   `--LITERAL_PUBLIC -> public [25:4]
        |   |--LITERAL_INTERFACE -> interface [26:4]
        |   |--IDENT -> IntEnum [27:4]
        |   `--OBJBLOCK -> OBJBLOCK [28:4]
        |       |--LCURLY -> { [28:4]
        |       `--RCURLY -> } [29:4]
        |--ANNOTATION_DEF -> ANNOTATION_DEF [31:4]
        |   |--MODIFIERS -> MODIFIERS [31:4]
        |   |   `--LITERAL_PRIVATE -> private [31:4]
        |   |--AT -> @ [32:4]
        |   |--LITERAL_INTERFACE -> interface [32:5]
        |   |--IDENT -> MyOtherAnno [33:4]
        |   `--OBJBLOCK -> OBJBLOCK [34:4]
        |       |--LCURLY -> { [34:4]
        |       |--CLASS_DEF -> CLASS_DEF [35:8]
        |       |   |--MODIFIERS -> MODIFIERS [35:8]
        |       |   |   `--LITERAL_PUBLIC -> public [35:8]
        |       |   |--LITERAL_CLASS -> class [35:15]
        |       |   |--IDENT -> Test [36:8]
        |       |   `--OBJBLOCK -> OBJBLOCK [36:13]
        |       |       |--LCURLY -> { [36:13]
        |       |       `--RCURLY -> } [36:14]
        |       |--ENUM_DEF -> ENUM_DEF [37:8]
        |       |   |--MODIFIERS -> MODIFIERS [37:8]
        |       |   |--ENUM -> enum [37:8]
        |       |   |--IDENT -> TestEnum [38:8]
        |       |   `--OBJBLOCK -> OBJBLOCK [38:16]
        |       |       |--LCURLY -> { [38:16]
        |       |       `--RCURLY -> } [38:17]
        |       |--ANNOTATION_DEF -> ANNOTATION_DEF [39:8]
        |       |   |--MODIFIERS -> MODIFIERS [39:8]
        |       |   |   `--LITERAL_PUBLIC -> public [39:8]
        |       |   |--AT -> @ [39:15]
        |       |   |--LITERAL_INTERFACE -> interface [39:16]
        |       |   |--IDENT -> InnerAnnoDeclaration [40:8]
        |       |   `--OBJBLOCK -> OBJBLOCK [40:28]
        |       |       |--LCURLY -> { [40:28]
        |       |       `--RCURLY -> } [40:29]
        |       |--VARIABLE_DEF -> VARIABLE_DEF [41:8]
        |       |   |--MODIFIERS -> MODIFIERS [41:8]
        |       |   |--TYPE -> TYPE [41:8]
        |       |   |   `--LITERAL_INT -> int [41:8]
        |       |   |--IDENT -> x [41:12]
        |       |   |--ASSIGN -> = [41:14]
        |       |   |   `--EXPR -> EXPR [41:16]
        |       |   |       `--NUM_INT -> 0 [41:16]
        |       |   `--SEMI -> ; [41:17]
        |       |--ANNOTATION_FIELD_DEF -> ANNOTATION_FIELD_DEF [42:8]
        |       |   |--MODIFIERS -> MODIFIERS [42:8]
        |       |   |--TYPE -> TYPE [42:8]
        |       |   |   `--LITERAL_INT -> int [42:8]
        |       |   |--IDENT -> method [42:12]
        |       |   |--LPAREN -> ( [42:18]
        |       |   |--RPAREN -> ) [42:19]
        |       |   `--SEMI -> ; [42:20]
        |       |--SEMI -> ; [43:8]
        |       |--SEMI -> ; [43:9]
        |       |--SEMI -> ; [43:10]
        |       |--SEMI -> ; [43:11]
        |       |--SEMI -> ; [43:12]
        |       `--RCURLY -> } [44:4]
        |--VARIABLE_DEF -> VARIABLE_DEF [45:4]
        |   |--MODIFIERS -> MODIFIERS [45:4]
        |   |   `--LITERAL_PRIVATE -> private [45:4]
        |   |--TYPE -> TYPE [45:12]
        |   |   `--IDENT -> String [45:12]
        |   |--IDENT -> str [45:19]
        |   |--ASSIGN -> = [45:23]
        |   |   `--EXPR -> EXPR [46:88]
        |   |       `--PLUS -> + [46:88]
        |   |           |--PLUS -> + [46:85]
        |   |           |   |--PLUS -> + [46:82]
        |   |           |   |   |--PLUS -> + [46:79]
        |   |           |   |   |   |--PLUS -> + [46:76]
        |   |           |   |   |   |   |--PLUS -> + [46:73]
        |   |           |   |   |   |   |   |--PLUS -> + [46:70]
        |   |           |   |   |   |   |   |   |--PLUS -> + [46:67]
        |   |           |   |   |   |   |   |   |   |--PLUS -> + [46:64]
        |   |           |   |   |   |   |   |   |   |   |--PLUS -> + [46:61]
        |   |           |   |   |   |   |   |   |   |   |   |--PLUS -> + [46:58]
        |   |           |   |   |   |   |   |   |   |   |   |   |--PLUS -> + [46:55]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |--PLUS -> + [46:52]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |--PLUS -> + [46:49]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |--PLUS -> + [46:46]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |--PLUS -> + [46:43]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |--PLUS -> + [46:40]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |--PLUS -> + [46:37]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |--PLUS -> + [46:34]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |--PLUS -> + [46:31]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |--PLUS -> + [46:28]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |--PLUS -> + [46:25]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |--PLUS -> + [46:22]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |--PLUS -> + [46:19]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |--PLUS -> + [46:16]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |--PLUS -> + [46:13]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |--PLUS -> + [46:10]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |--STRING_LITERAL -> "" [45:25]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   `--STRING_LITERAL -> "" [46:11]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   `--STRING_LITERAL -> "" [46:14]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   `--STRING_LITERAL -> "" [46:17]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   `--STRING_LITERAL -> "" [46:20]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   `--STRING_LITERAL -> "" [46:23]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   `--STRING_LITERAL -> "" [46:26]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   `--STRING_LITERAL -> "" [46:29]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   `--STRING_LITERAL -> "" [46:32]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   `--STRING_LITERAL -> "" [46:35]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   `--STRING_LITERAL -> "" [46:38]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   `--STRING_LITERAL -> "" [46:41]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   `--STRING_LITERAL -> "" [46:44]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   |   `--STRING_LITERAL -> "" [46:47]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   |   `--STRING_LITERAL -> "" [46:50]
        |   |           |   |   |   |   |   |   |   |   |   |   |   |   `--STRING_LITERAL -> "" [46:53]
        |   |           |   |   |   |   |   |   |   |   |   |   |   `--STRING_LITERAL -> "" [46:56]
        |   |           |   |   |   |   |   |   |   |   |   |   `--STRING_LITERAL -> "" [46:59]
        |   |           |   |   |   |   |   |   |   |   |   `--STRING_LITERAL -> "" [46:62]
        |   |           |   |   |   |   |   |   |   |   `--STRING_LITERAL -> "" [46:65]
        |   |           |   |   |   |   |   |   |   `--STRING_LITERAL -> "" [46:68]
        |   |           |   |   |   |   |   |   `--STRING_LITERAL -> "" [46:71]
        |   |           |   |   |   |   |   `--STRING_LITERAL -> "" [46:74]
        |   |           |   |   |   |   `--STRING_LITERAL -> "" [46:77]
        |   |           |   |   |   `--STRING_LITERAL -> "" [46:80]
        |   |           |   |   `--STRING_LITERAL -> "" [46:83]
        |   |           |   `--STRING_LITERAL -> "" [46:86]
        |   |           `--STRING_LITERAL -> "" [46:89]
        |   `--SEMI -> ; [46:91]
        |--VARIABLE_DEF -> VARIABLE_DEF [47:4]
        |   |--MODIFIERS -> MODIFIERS [47:4]
        |   |--TYPE -> TYPE [47:4]
        |   |   `--LITERAL_INT -> int [47:4]
        |   |--IDENT -> z [47:8]
        |   |--ASSIGN -> = [47:10]
        |   |   `--EXPR -> EXPR [47:15]
        |   |       `--PLUS -> + [47:15]
        |   |           |--NUM_INT -> 42 [47:12]
        |   |           `--NUM_INT -> 42 [47:17]
        |   `--SEMI -> ; [47:19]
        |--ANNOTATION_DEF -> ANNOTATION_DEF [48:4]
        |   |--MODIFIERS -> MODIFIERS [48:4]
        |   |--AT -> @ [48:4]
        |   |--LITERAL_INTERFACE -> interface [48:6]
        |   |--IDENT -> Foo [48:16]
        |   `--OBJBLOCK -> OBJBLOCK [48:20]
        |       |--LCURLY -> { [48:20]
        |       |--ANNOTATION_FIELD_DEF -> ANNOTATION_FIELD_DEF [49:8]
        |       |   |--MODIFIERS -> MODIFIERS [49:8]
        |       |   |--TYPE -> TYPE [49:8]
        |       |   |   |--IDENT -> String [49:8]
        |       |   |   `--ARRAY_DECLARATOR -> [ [49:19]
        |       |   |       `--RBRACK -> ] [49:20]
        |       |   |--IDENT -> v1 [49:15]
        |       |   |--LPAREN -> ( [49:17]
        |       |   |--RPAREN -> ) [49:18]
        |       |   `--SEMI -> ; [49:21]
        |       `--RCURLY -> } [50:4]
        |--ANNOTATION_DEF -> ANNOTATION_DEF [51:4]
        |   |--MODIFIERS -> MODIFIERS [51:4]
        |   |--AT -> @ [51:4]
        |   |--LITERAL_INTERFACE -> interface [51:5]
        |   |--IDENT -> Nullable [51:15]
        |   `--OBJBLOCK -> OBJBLOCK [51:23]
        |       |--LCURLY -> { [51:23]
        |       `--RCURLY -> } [51:24]
        `--RCURLY -> } [52:0]
