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]
|--IMPORT -> import [3:0]
|   |--DOT -> . [3:14]
|   |   |--DOT -> . [3:11]
|   |   |   |--IDENT -> java [3:7]
|   |   |   `--IDENT -> io [3:12]
|   |   `--IDENT -> BufferedReader [3:15]
|   `--SEMI -> ; [3:29]
|--IMPORT -> import [4:0]
|   |--DOT -> . [4:14]
|   |   |--DOT -> . [4:11]
|   |   |   |--IDENT -> java [4:7]
|   |   |   `--IDENT -> io [4:12]
|   |   `--IDENT -> FileNotFoundException [4:15]
|   `--SEMI -> ; [4:36]
|--IMPORT -> import [5:0]
|   |--DOT -> . [5:14]
|   |   |--DOT -> . [5:11]
|   |   |   |--IDENT -> java [5:7]
|   |   |   `--IDENT -> io [5:12]
|   |   `--IDENT -> FileReader [5:15]
|   `--SEMI -> ; [5:25]
|--IMPORT -> import [6:0]
|   |--DOT -> . [6:14]
|   |   |--DOT -> . [6:11]
|   |   |   |--IDENT -> java [6:7]
|   |   |   `--IDENT -> io [6:12]
|   |   `--IDENT -> IOError [6:15]
|   `--SEMI -> ; [6:22]
|--IMPORT -> import [7:0]
|   |--DOT -> . [7:14]
|   |   |--DOT -> . [7:11]
|   |   |   |--IDENT -> java [7:7]
|   |   |   `--IDENT -> io [7:12]
|   |   `--IDENT -> IOException [7:15]
|   `--SEMI -> ; [7:26]
|--IMPORT -> import [8:0]
|   |--DOT -> . [8:25]
|   |   |--DOT -> . [8:16]
|   |   |   |--DOT -> . [8:11]
|   |   |   |   |--IDENT -> java [8:7]
|   |   |   |   `--IDENT -> util [8:12]
|   |   |   `--IDENT -> function [8:17]
|   |   `--IDENT -> BiFunction [8:26]
|   `--SEMI -> ; [8:36]
|--CLASS_DEF -> CLASS_DEF [10:0]
|   |--MODIFIERS -> MODIFIERS [10:0]
|   |   `--LITERAL_PUBLIC -> public [10:0]
|   |--LITERAL_CLASS -> class [10:7]
|   |--IDENT -> InputAntlr4AstRegressionUncommon4 [10:13]
|   `--OBJBLOCK -> OBJBLOCK [10:47]
|       |--LCURLY -> { [10:47]
|       |--METHOD_DEF -> METHOD_DEF [11:4]
|       |   |--MODIFIERS -> MODIFIERS [11:4]
|       |   |--TYPE -> TYPE [11:4]
|       |   |   `--LITERAL_VOID -> void [11:4]
|       |   |--IDENT -> m3 [11:9]
|       |   |--LPAREN -> ( [11:11]
|       |   |--PARAMETERS -> PARAMETERS [11:12]
|       |   |--RPAREN -> ) [11:12]
|       |   |--LITERAL_THROWS -> throws [11:14]
|       |   |   `--IDENT -> FileNotFoundException [11:21]
|       |   `--SLIST -> { [11:43]
|       |       |--VARIABLE_DEF -> VARIABLE_DEF [12:8]
|       |       |   |--MODIFIERS -> MODIFIERS [12:8]
|       |       |   |--TYPE -> TYPE [12:8]
|       |       |   |   `--LITERAL_INT -> int [12:8]
|       |       |   |--IDENT -> x [12:12]
|       |       |   `--ASSIGN -> = [12:14]
|       |       |       `--EXPR -> EXPR [12:32]
|       |       |           |--BLOCK_COMMENT_BEGIN -> /* [12:18]
|       |       |           |   |--COMMENT_CONTENT ->  comment  [12:20]
|       |       |           |   `--BLOCK_COMMENT_END -> */ [12:28]
|       |       |           `--PLUS -> + [12:32]
|       |       |               |--NUM_INT -> 2 [12:16]
|       |       |               `--NUM_INT -> 2 [12:34]
|       |       |--SEMI -> ; [12:35]
|       |       |--VARIABLE_DEF -> VARIABLE_DEF [13:8]
|       |       |   |--MODIFIERS -> MODIFIERS [13:8]
|       |       |   |--TYPE -> TYPE [13:8]
|       |       |   |   `--LITERAL_INT -> int [13:8]
|       |       |   |--IDENT -> y [13:12]
|       |       |   `--ASSIGN -> = [13:14]
|       |       |       `--EXPR -> EXPR [13:16]
|       |       |           |--LPAREN -> ( [13:16]
|       |       |           |--BLOCK_COMMENT_BEGIN -> /* [13:32]
|       |       |           |   |--COMMENT_CONTENT -> comment  [13:34]
|       |       |           |   `--BLOCK_COMMENT_END -> */ [13:41]
|       |       |           |--PLUS -> + [13:45]
|       |       |           |   |--BLOCK_COMMENT_BEGIN -> /* [13:17]
|       |       |           |   |   |--COMMENT_CONTENT -> comment  [13:19]
|       |       |           |   |   `--BLOCK_COMMENT_END -> */ [13:26]
|       |       |           |   |--IDENT -> x [13:30]
|       |       |           |   `--NUM_INT -> 2 [13:47]
|       |       |           `--RPAREN -> ) [13:48]
|       |       |--SEMI -> ; [13:49]
|       |       |--EXPR -> EXPR [14:10]
|       |       |   `--METHOD_CALL -> ( [14:10]
|       |       |       |--IDENT -> m4 [14:8]
|       |       |       |--ELIST -> ELIST [14:24]
|       |       |       |   |--EXPR -> EXPR [14:24]
|       |       |       |   |   |--BLOCK_COMMENT_BEGIN -> /* [14:11]
|       |       |       |   |   |   |--COMMENT_CONTENT ->  param1  [14:13]
|       |       |       |   |   |   `--BLOCK_COMMENT_END -> */ [14:20]
|       |       |       |   |   `--IDENT -> x [14:24]
|       |       |       |   |--COMMA -> , [14:25]
|       |       |       |   `--EXPR -> EXPR [14:40]
|       |       |       |       |--BLOCK_COMMENT_BEGIN -> /* [14:27]
|       |       |       |       |   |--COMMENT_CONTENT ->  param2  [14:29]
|       |       |       |       |   `--BLOCK_COMMENT_END -> */ [14:36]
|       |       |       |       `--IDENT -> x [14:40]
|       |       |       `--RPAREN -> ) [14:41]
|       |       |--SEMI -> ; [14:42]
|       |       |--VARIABLE_DEF -> VARIABLE_DEF [15:8]
|       |       |   |--MODIFIERS -> MODIFIERS [15:8]
|       |       |   |--TYPE -> TYPE [15:8]
|       |       |   |   |--IDENT -> BiFunction [15:8]
|       |       |   |   `--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [15:18]
|       |       |   |       |--GENERIC_START -> < [15:18]
|       |       |   |       |--TYPE_ARGUMENT -> TYPE_ARGUMENT [15:19]
|       |       |   |       |   `--IDENT -> Integer [15:19]
|       |       |   |       |--COMMA -> , [15:26]
|       |       |   |       |--TYPE_ARGUMENT -> TYPE_ARGUMENT [15:28]
|       |       |   |       |   `--IDENT -> Integer [15:28]
|       |       |   |       |--COMMA -> , [15:35]
|       |       |   |       |--TYPE_ARGUMENT -> TYPE_ARGUMENT [15:37]
|       |       |   |       |   `--IDENT -> Integer [15:37]
|       |       |   |       `--GENERIC_END -> > [15:44]
|       |       |   |--IDENT -> lambda9 [15:46]
|       |       |   `--ASSIGN -> = [16:16]
|       |       |       `--LAMBDA -> -> [16:51]
|       |       |           |--LPAREN -> ( [16:18]
|       |       |           |--PARAMETERS -> PARAMETERS [16:32]
|       |       |           |   |--PARAMETER_DEF -> PARAMETER_DEF [16:32]
|       |       |           |   |   |--MODIFIERS -> MODIFIERS [16:32]
|       |       |           |   |   |--TYPE -> TYPE [16:32]
|       |       |           |   |   |--BLOCK_COMMENT_BEGIN -> /* [16:19]
|       |       |           |   |   |   |--COMMENT_CONTENT ->  param1  [16:21]
|       |       |           |   |   |   `--BLOCK_COMMENT_END -> */ [16:28]
|       |       |           |   |   `--IDENT -> a [16:32]
|       |       |           |   |--COMMA -> , [16:33]
|       |       |           |   `--PARAMETER_DEF -> PARAMETER_DEF [16:48]
|       |       |           |       |--MODIFIERS -> MODIFIERS [16:48]
|       |       |           |       |--TYPE -> TYPE [16:48]
|       |       |           |       |--BLOCK_COMMENT_BEGIN -> /* [16:35]
|       |       |           |       |   |--COMMENT_CONTENT ->  param2  [16:37]
|       |       |           |       |   `--BLOCK_COMMENT_END -> */ [16:44]
|       |       |           |       `--IDENT -> b [16:48]
|       |       |           |--RPAREN -> ) [16:49]
|       |       |           `--EXPR -> EXPR [16:56]
|       |       |               `--PLUS -> + [16:56]
|       |       |                   |--IDENT -> a [16:54]
|       |       |                   `--IDENT -> b [16:58]
|       |       |--SEMI -> ; [16:59]
|       |       |--VARIABLE_DEF -> VARIABLE_DEF [18:8]
|       |       |   |--MODIFIERS -> MODIFIERS [18:8]
|       |       |   |--TYPE -> TYPE [18:8]
|       |       |   |   |--IDENT -> BiFunction [18:8]
|       |       |   |   `--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [18:18]
|       |       |   |       |--GENERIC_START -> < [18:18]
|       |       |   |       |--TYPE_ARGUMENT -> TYPE_ARGUMENT [18:19]
|       |       |   |       |   `--IDENT -> Integer [18:19]
|       |       |   |       |--COMMA -> , [18:26]
|       |       |   |       |--TYPE_ARGUMENT -> TYPE_ARGUMENT [18:28]
|       |       |   |       |   `--IDENT -> Integer [18:28]
|       |       |   |       |--COMMA -> , [18:35]
|       |       |   |       |--TYPE_ARGUMENT -> TYPE_ARGUMENT [18:37]
|       |       |   |       |   `--IDENT -> Integer [18:37]
|       |       |   |       `--GENERIC_END -> > [18:44]
|       |       |   |--IDENT -> lambda13 [18:46]
|       |       |   `--ASSIGN -> = [19:16]
|       |       |       `--LAMBDA -> -> [19:77]
|       |       |           |--LPAREN -> ( [19:18]
|       |       |           |--PARAMETERS -> PARAMETERS [19:32]
|       |       |           |   |--PARAMETER_DEF -> PARAMETER_DEF [19:32]
|       |       |           |   |   |--MODIFIERS -> MODIFIERS [19:32]
|       |       |           |   |   |--TYPE -> TYPE [19:32]
|       |       |           |   |   |--BLOCK_COMMENT_BEGIN -> /* [19:19]
|       |       |           |   |   |   |--COMMENT_CONTENT ->  param1  [19:21]
|       |       |           |   |   |   `--BLOCK_COMMENT_END -> */ [19:28]
|       |       |           |   |   `--IDENT -> a [19:32]
|       |       |           |   |--BLOCK_COMMENT_BEGIN -> /* [19:34]
|       |       |           |   |   |--COMMENT_CONTENT ->  param1  [19:36]
|       |       |           |   |   `--BLOCK_COMMENT_END -> */ [19:43]
|       |       |           |   |--COMMA -> , [19:46]
|       |       |           |   `--PARAMETER_DEF -> PARAMETER_DEF [19:61]
|       |       |           |       |--MODIFIERS -> MODIFIERS [19:61]
|       |       |           |       |--TYPE -> TYPE [19:61]
|       |       |           |       |--BLOCK_COMMENT_BEGIN -> /* [19:48]
|       |       |           |       |   |--COMMENT_CONTENT ->  param2  [19:50]
|       |       |           |       |   `--BLOCK_COMMENT_END -> */ [19:57]
|       |       |           |       `--IDENT -> b [19:61]
|       |       |           |--BLOCK_COMMENT_BEGIN -> /* [19:63]
|       |       |           |   |--COMMENT_CONTENT ->  param2  [19:65]
|       |       |           |   `--BLOCK_COMMENT_END -> */ [19:72]
|       |       |           |--RPAREN -> ) [19:75]
|       |       |           `--EXPR -> EXPR [19:82]
|       |       |               `--PLUS -> + [19:82]
|       |       |                   |--IDENT -> a [19:80]
|       |       |                   `--IDENT -> b [19:84]
|       |       |--SEMI -> ; [19:85]
|       |       `--RCURLY -> } [20:4]
|       |--METHOD_DEF -> METHOD_DEF [22:4]
|       |   |--MODIFIERS -> MODIFIERS [22:4]
|       |   |--TYPE -> TYPE [22:4]
|       |   |   `--LITERAL_INT -> int [22:4]
|       |   |--IDENT -> m4 [22:8]
|       |   |--LPAREN -> ( [22:11]
|       |   |--PARAMETERS -> PARAMETERS [22:12]
|       |   |   |--PARAMETER_DEF -> PARAMETER_DEF [22:12]
|       |   |   |   |--MODIFIERS -> MODIFIERS [22:12]
|       |   |   |   |--TYPE -> TYPE [22:12]
|       |   |   |   |   `--LITERAL_INT -> int [22:12]
|       |   |   |   `--IDENT -> z [22:16]
|       |   |   |--COMMA -> , [22:17]
|       |   |   `--PARAMETER_DEF -> PARAMETER_DEF [22:19]
|       |   |       |--MODIFIERS -> MODIFIERS [22:19]
|       |   |       |--TYPE -> TYPE [22:19]
|       |   |       |   `--LITERAL_INT -> int [22:19]
|       |   |       `--IDENT -> q [22:23]
|       |   |--RPAREN -> ) [22:24]
|       |   |--LITERAL_THROWS -> throws [22:26]
|       |   |   `--IDENT -> FileNotFoundException [22:33]
|       |   `--SLIST -> { [22:55]
|       |       |--LITERAL_TRY -> try [23:8]
|       |       |   |--RESOURCE_SPECIFICATION -> RESOURCE_SPECIFICATION [23:12]
|       |       |   |   |--LPAREN -> ( [23:12]
|       |       |   |   |--RESOURCES -> RESOURCES [27:24]
|       |       |   |   |   `--RESOURCE -> RESOURCE [27:24]
|       |       |   |   |       |--MODIFIERS -> MODIFIERS [27:24]
|       |       |   |   |       |--TYPE -> TYPE [27:24]
|       |       |   |   |       |   `--DOT -> . [27:24]
|       |       |   |   |       |       |--DOT -> . [25:24]
|       |       |   |   |       |       |   |--IDENT -> java [24:16]
|       |       |   |   |       |       |   `--IDENT -> io [26:24]
|       |       |   |   |       |       `--IDENT -> BufferedReader [28:24]
|       |       |   |   |       |--IDENT -> bufferedReader [28:39]
|       |       |   |   |       `--ASSIGN -> = [29:24]
|       |       |   |   |           `--EXPR -> EXPR [29:26]
|       |       |   |   |               `--LITERAL_NEW -> new [29:26]
|       |       |   |   |                   |--IDENT -> BufferedReader [29:30]
|       |       |   |   |                   |--LPAREN -> ( [29:44]
|       |       |   |   |                   |--ELIST -> ELIST [29:45]
|       |       |   |   |                   |   `--EXPR -> EXPR [29:45]
|       |       |   |   |                   |       `--LITERAL_NEW -> new [29:45]
|       |       |   |   |                   |           |--IDENT -> FileReader [29:49]
|       |       |   |   |                   |           |--LPAREN -> ( [29:59]
|       |       |   |   |                   |           |--ELIST -> ELIST [29:60]
|       |       |   |   |                   |           |   `--EXPR -> EXPR [29:60]
|       |       |   |   |                   |           |       `--STRING_LITERAL -> "path" [29:60]
|       |       |   |   |                   |           `--RPAREN -> ) [29:66]
|       |       |   |   |                   `--RPAREN -> ) [29:67]
|       |       |   |   `--RPAREN -> ) [29:68]
|       |       |   |--SLIST -> { [29:70]
|       |       |   |   `--RCURLY -> } [30:8]
|       |       |   `--LITERAL_CATCH -> catch [30:10]
|       |       |       |--LPAREN -> ( [30:16]
|       |       |       |--PARAMETER_DEF -> PARAMETER_DEF [30:17]
|       |       |       |   |--MODIFIERS -> MODIFIERS [30:17]
|       |       |       |   |--TYPE -> TYPE [30:17]
|       |       |       |   |   `--IDENT -> IOException [30:17]
|       |       |       |   `--IDENT -> e [30:29]
|       |       |       |--RPAREN -> ) [30:30]
|       |       |       `--SLIST -> { [30:32]
|       |       |           |--EXPR -> EXPR [31:29]
|       |       |           |   `--METHOD_CALL -> ( [31:29]
|       |       |           |       |--DOT -> . [31:13]
|       |       |           |       |   |--IDENT -> e [31:12]
|       |       |           |       |   `--IDENT -> printStackTrace [31:14]
|       |       |           |       |--ELIST -> ELIST [31:30]
|       |       |           |       `--RPAREN -> ) [31:30]
|       |       |           |--SEMI -> ; [31:31]
|       |       |           `--RCURLY -> } [32:8]
|       |       |--LITERAL_RETURN -> return [33:8]
|       |       |   |--EXPR -> EXPR [33:15]
|       |       |   |   `--NUM_INT -> 8 [33:15]
|       |       |   `--SEMI -> ; [33:16]
|       |       `--RCURLY -> } [34:4]
|       |--CLASS_DEF -> CLASS_DEF [36:4]
|       |   |--MODIFIERS -> MODIFIERS [36:4]
|       |   |--LITERAL_CLASS -> class [36:4]
|       |   |--IDENT -> CelebrationLunch [36:10]
|       |   |--TYPE_PARAMETERS -> TYPE_PARAMETERS [36:26]
|       |   |   |--GENERIC_START -> < [36:26]
|       |   |   |--TYPE_PARAMETER -> TYPE_PARAMETER [36:27]
|       |   |   |   |--IDENT -> I [36:27]
|       |   |   |   `--TYPE_UPPER_BOUNDS -> extends [36:29]
|       |   |   |       `--IDENT -> Number [36:37]
|       |   |   |--COMMA -> , [36:43]
|       |   |   |--TYPE_PARAMETER -> TYPE_PARAMETER [36:45]
|       |   |   |   |--IDENT -> L [36:45]
|       |   |   |   `--TYPE_UPPER_BOUNDS -> extends [36:47]
|       |   |   |       `--IDENT -> Number [36:55]
|       |   |   |--COMMA -> , [36:61]
|       |   |   |--TYPE_PARAMETER -> TYPE_PARAMETER [36:63]
|       |   |   |   |--IDENT -> D [36:63]
|       |   |   |   `--TYPE_UPPER_BOUNDS -> extends [36:65]
|       |   |   |       `--IDENT -> Number [36:73]
|       |   |   `--GENERIC_END -> > [36:79]
|       |   `--OBJBLOCK -> OBJBLOCK [36:81]
|       |       |--LCURLY -> { [36:81]
|       |       |--CLASS_DEF -> CLASS_DEF [37:8]
|       |       |   |--MODIFIERS -> MODIFIERS [37:8]
|       |       |   |--LITERAL_CLASS -> class [37:8]
|       |       |   |--IDENT -> Section [37:14]
|       |       |   |--TYPE_PARAMETERS -> TYPE_PARAMETERS [37:21]
|       |       |   |   |--GENERIC_START -> < [37:21]
|       |       |   |   |--TYPE_PARAMETER -> TYPE_PARAMETER [37:22]
|       |       |   |   |   |--IDENT -> A [37:22]
|       |       |   |   |   `--TYPE_UPPER_BOUNDS -> extends [37:24]
|       |       |   |   |       `--IDENT -> Number [37:32]
|       |       |   |   |--COMMA -> , [37:38]
|       |       |   |   |--TYPE_PARAMETER -> TYPE_PARAMETER [37:40]
|       |       |   |   |   |--IDENT -> B [37:40]
|       |       |   |   |   `--TYPE_UPPER_BOUNDS -> extends [37:42]
|       |       |   |   |       `--IDENT -> Number [37:50]
|       |       |   |   |--COMMA -> , [37:56]
|       |       |   |   |--TYPE_PARAMETER -> TYPE_PARAMETER [37:58]
|       |       |   |   |   |--IDENT -> C [37:58]
|       |       |   |   |   `--TYPE_UPPER_BOUNDS -> extends [37:60]
|       |       |   |   |       `--IDENT -> Number [37:68]
|       |       |   |   `--GENERIC_END -> > [37:74]
|       |       |   `--OBJBLOCK -> OBJBLOCK [37:76]
|       |       |       |--LCURLY -> { [37:76]
|       |       |       `--RCURLY -> } [39:8]
|       |       `--RCURLY -> } [40:4]
|       |--VARIABLE_DEF -> VARIABLE_DEF [42:4]
|       |   |--MODIFIERS -> MODIFIERS [42:4]
|       |   |   `--LITERAL_PRIVATE -> private [42:4]
|       |   |--TYPE -> TYPE [42:12]
|       |   |   |--IDENT -> CelebrationLunch [42:12]
|       |   |   `--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [42:28]
|       |   |       |--GENERIC_START -> < [42:28]
|       |   |       |--TYPE_ARGUMENT -> TYPE_ARGUMENT [42:29]
|       |   |       |   `--IDENT -> Integer [42:29]
|       |   |       |--COMMA -> , [42:36]
|       |   |       |--TYPE_ARGUMENT -> TYPE_ARGUMENT [42:37]
|       |   |       |   `--IDENT -> Long [42:37]
|       |   |       |--COMMA -> , [42:41]
|       |   |       |--TYPE_ARGUMENT -> TYPE_ARGUMENT [42:42]
|       |   |       |   `--IDENT -> Double [42:42]
|       |   |       `--GENERIC_END -> > [42:48]
|       |   |--IDENT -> inner [42:50]
|       |   `--SEMI -> ; [42:55]
|       |--VARIABLE_DEF -> VARIABLE_DEF [44:12]
|       |   |--MODIFIERS -> MODIFIERS [44:12]
|       |   |--TYPE -> TYPE [44:12]
|       |   |   `--DOT -> . [44:12]
|       |   |       |--IDENT -> CelebrationLunch [43:4]
|       |   |       |--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [43:20]
|       |   |       |   |--GENERIC_START -> < [43:20]
|       |   |       |   |--TYPE_ARGUMENT -> TYPE_ARGUMENT [43:21]
|       |   |       |   |   `--IDENT -> Integer [43:21]
|       |   |       |   |--COMMA -> , [43:28]
|       |   |       |   |--TYPE_ARGUMENT -> TYPE_ARGUMENT [43:30]
|       |   |       |   |   `--IDENT -> Long [43:30]
|       |   |       |   |--COMMA -> , [43:34]
|       |   |       |   |--TYPE_ARGUMENT -> TYPE_ARGUMENT [43:36]
|       |   |       |   |   `--IDENT -> Double [43:36]
|       |   |       |   `--GENERIC_END -> > [43:42]
|       |   |       |--IDENT -> Section [44:13]
|       |   |       `--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [44:20]
|       |   |           |--GENERIC_START -> < [44:20]
|       |   |           |--TYPE_ARGUMENT -> TYPE_ARGUMENT [44:21]
|       |   |           |   `--IDENT -> Number [44:21]
|       |   |           |--COMMA -> , [44:27]
|       |   |           |--TYPE_ARGUMENT -> TYPE_ARGUMENT [44:29]
|       |   |           |   `--IDENT -> Number [44:29]
|       |   |           |--COMMA -> , [44:35]
|       |   |           |--TYPE_ARGUMENT -> TYPE_ARGUMENT [44:37]
|       |   |           |   `--IDENT -> Number [44:37]
|       |   |           `--GENERIC_END -> > [44:43]
|       |   |--IDENT -> section [44:45]
|       |   |--ASSIGN -> = [44:53]
|       |   |   `--EXPR -> EXPR [44:60]
|       |   |       `--DOT -> . [44:60]
|       |   |           |--IDENT -> inner [44:55]
|       |   |           `--LITERAL_NEW -> new [44:61]
|       |   |               |--IDENT -> Section [44:65]
|       |   |               |--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [44:72]
|       |   |               |   |--GENERIC_START -> < [44:72]
|       |   |               |   `--GENERIC_END -> > [44:73]
|       |   |               |--LPAREN -> ( [44:74]
|       |   |               |--ELIST -> ELIST [44:75]
|       |   |               `--RPAREN -> ) [44:75]
|       |   `--SEMI -> ; [44:76]
|       |--VARIABLE_DEF -> VARIABLE_DEF [46:4]
|       |   |--MODIFIERS -> MODIFIERS [46:4]
|       |   |   `--ANNOTATION -> ANNOTATION [46:4]
|       |   |       |--AT -> @ [46:4]
|       |   |       `--IDENT -> NonNull [46:5]
|       |   |--TYPE -> TYPE [46:13]
|       |   |   `--IDENT -> String [46:13]
|       |   |--IDENT -> p1 [46:20]
|       |   |--ASSIGN -> = [46:23]
|       |   |   `--EXPR -> EXPR [46:25]
|       |   |       `--STRING_LITERAL -> "hello" [46:25]
|       |   `--SEMI -> ; [46:32]
|       |--METHOD_DEF -> METHOD_DEF [47:4]
|       |   |--MODIFIERS -> MODIFIERS [47:4]
|       |   |--TYPE -> TYPE [47:4]
|       |   |   `--LITERAL_VOID -> void [47:4]
|       |   |--IDENT -> method [47:9]
|       |   |--LPAREN -> ( [47:15]
|       |   |--PARAMETERS -> PARAMETERS [47:16]
|       |   |--RPAREN -> ) [47:16]
|       |   `--SLIST -> { [47:18]
|       |       |--LITERAL_TRY -> try [48:8]
|       |       |   |--SLIST -> { [48:12]
|       |       |   |   |--EXPR -> EXPR [49:30]
|       |       |   |   |   `--METHOD_CALL -> ( [49:30]
|       |       |   |   |       |--DOT -> . [49:22]
|       |       |   |   |       |   |--DOT -> . [49:18]
|       |       |   |   |       |   |   |--IDENT -> System [49:12]
|       |       |   |   |       |   |   `--IDENT -> out [49:19]
|       |       |   |   |       |   `--IDENT -> println [49:23]
|       |       |   |   |       |--ELIST -> ELIST [49:31]
|       |       |   |   |       `--RPAREN -> ) [49:31]
|       |       |   |   |--SEMI -> ; [49:32]
|       |       |   |   `--RCURLY -> } [50:8]
|       |       |   `--LITERAL_CATCH -> catch [51:8]
|       |       |       |--LPAREN -> ( [51:14]
|       |       |       |--PARAMETER_DEF -> PARAMETER_DEF [51:15]
|       |       |       |   |--MODIFIERS -> MODIFIERS [51:15]
|       |       |       |   |   `--ANNOTATION -> ANNOTATION [51:15]
|       |       |       |   |       |--AT -> @ [51:15]
|       |       |       |   |       `--IDENT -> NonNull [51:16]
|       |       |       |   |--TYPE -> TYPE [51:24]
|       |       |       |   |   |--IDENT -> IOError [51:24]
|       |       |       |   |   |--BOR -> | [51:32]
|       |       |       |   |   `--IDENT -> ArithmeticException [51:34]
|       |       |       |   `--IDENT -> e [51:54]
|       |       |       |--RPAREN -> ) [51:55]
|       |       |       `--SLIST -> { [51:57]
|       |       |           `--RCURLY -> } [53:8]
|       |       `--RCURLY -> } [54:4]
|       |--METHOD_DEF -> METHOD_DEF [56:4]
|       |   |--MODIFIERS -> MODIFIERS [56:4]
|       |   |--TYPE -> TYPE [56:4]
|       |   |   `--LITERAL_VOID -> void [56:4]
|       |   |--IDENT -> m23 [56:9]
|       |   |--LPAREN -> ( [56:12]
|       |   |--PARAMETERS -> PARAMETERS [56:13]
|       |   |   `--PARAMETER_DEF -> PARAMETER_DEF [56:13]
|       |   |       |--MODIFIERS -> MODIFIERS [56:13]
|       |   |       |--TYPE -> TYPE [56:13]
|       |   |       |   |--IDENT -> Class [56:13]
|       |   |       |   `--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [56:18]
|       |   |       |       |--GENERIC_START -> < [56:18]
|       |   |       |       |--TYPE_ARGUMENT -> TYPE_ARGUMENT [56:19]
|       |   |       |       |   `--IDENT -> Object [56:19]
|       |   |       |       `--GENERIC_END -> > [56:25]
|       |   |       `--IDENT -> clazz [56:27]
|       |   |--RPAREN -> ) [56:32]
|       |   `--SLIST -> { [56:34]
|       |       |--LITERAL_IF -> if [57:8]
|       |       |   |--LPAREN -> ( [57:11]
|       |       |   |--EXPR -> EXPR [57:51]
|       |       |   |   `--NOT_EQUAL -> != [57:51]
|       |       |   |       |--DOT -> . [57:45]
|       |       |   |       |   |--IDENT -> InputAntlr4AstRegressionUncommon4 [57:12]
|       |       |   |       |   `--LITERAL_THIS -> this [57:46]
|       |       |   |       `--LITERAL_NULL -> null [57:54]
|       |       |   |--RPAREN -> ) [57:58]
|       |       |   `--SLIST -> { [57:60]
|       |       |       `--RCURLY -> } [58:8]
|       |       `--RCURLY -> } [59:4]
|       `--RCURLY -> } [61:0]
|--CLASS_DEF -> CLASS_DEF [63:0]
|   |--MODIFIERS -> MODIFIERS [63:0]
|   |--LITERAL_CLASS -> class [63:0]
|   |--IDENT -> H006_ComplexConstructors [63:6]
|   |--TYPE_PARAMETERS -> TYPE_PARAMETERS [63:30]
|   |   |--GENERIC_START -> < [63:30]
|   |   |--TYPE_PARAMETER -> TYPE_PARAMETER [63:31]
|   |   |   `--IDENT -> T [63:31]
|   |   `--GENERIC_END -> > [63:32]
|   `--OBJBLOCK -> OBJBLOCK [63:34]
|       |--LCURLY -> { [63:34]
|       |--CTOR_DEF -> CTOR_DEF [64:4]
|       |   |--MODIFIERS -> MODIFIERS [64:4]
|       |   |   `--LITERAL_PUBLIC -> public [64:4]
|       |   |--TYPE_PARAMETERS -> TYPE_PARAMETERS [64:11]
|       |   |   |--GENERIC_START -> < [64:11]
|       |   |   |--TYPE_PARAMETER -> TYPE_PARAMETER [64:12]
|       |   |   |   `--IDENT -> V [64:12]
|       |   |   `--GENERIC_END -> > [64:13]
|       |   |--IDENT -> H006_ComplexConstructors [64:15]
|       |   |--LPAREN -> ( [64:39]
|       |   |--PARAMETERS -> PARAMETERS [64:40]
|       |   |   |--PARAMETER_DEF -> PARAMETER_DEF [64:40]
|       |   |   |   |--MODIFIERS -> MODIFIERS [64:40]
|       |   |   |   |--TYPE -> TYPE [64:40]
|       |   |   |   |   `--IDENT -> T [64:40]
|       |   |   |   `--IDENT -> t [64:42]
|       |   |   |--COMMA -> , [64:43]
|       |   |   `--PARAMETER_DEF -> PARAMETER_DEF [64:45]
|       |   |       |--MODIFIERS -> MODIFIERS [64:45]
|       |   |       |--TYPE -> TYPE [64:45]
|       |   |       |   `--IDENT -> V [64:45]
|       |   |       `--IDENT -> v [64:47]
|       |   |--RPAREN -> ) [64:48]
|       |   `--SLIST -> { [64:50]
|       |       `--RCURLY -> } [65:4]
|       |--STATIC_INIT -> STATIC_INIT [67:4]
|       |   `--SLIST -> { [67:11]
|       |       |--VARIABLE_DEF -> VARIABLE_DEF [68:8]
|       |       |   |--MODIFIERS -> MODIFIERS [68:8]
|       |       |   |--TYPE -> TYPE [68:8]
|       |       |   |   |--IDENT -> H006_ComplexConstructors [68:8]
|       |       |   |   `--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [68:32]
|       |       |   |       |--GENERIC_START -> < [68:32]
|       |       |   |       |--TYPE_ARGUMENT -> TYPE_ARGUMENT [68:33]
|       |       |   |       |   |--WILDCARD_TYPE -> ? [68:33]
|       |       |   |       |   `--TYPE_UPPER_BOUNDS -> extends [68:35]
|       |       |   |       |       `--IDENT -> Number [68:43]
|       |       |   |       `--GENERIC_END -> > [68:49]
|       |       |   |--IDENT -> x [68:51]
|       |       |   `--ASSIGN -> = [68:53]
|       |       |       `--EXPR -> EXPR [69:16]
|       |       |           `--LITERAL_NEW -> new [69:16]
|       |       |               |--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [69:20]
|       |       |               |   |--GENERIC_START -> < [69:20]
|       |       |               |   |--TYPE_ARGUMENT -> TYPE_ARGUMENT [69:21]
|       |       |               |   |   `--IDENT -> String [69:21]
|       |       |               |   `--GENERIC_END -> > [69:27]
|       |       |               |--IDENT -> H006_ComplexConstructors [69:28]
|       |       |               |--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [69:52]
|       |       |               |   |--GENERIC_START -> < [69:52]
|       |       |               |   |--TYPE_ARGUMENT -> TYPE_ARGUMENT [69:53]
|       |       |               |   |   `--IDENT -> Integer [69:53]
|       |       |               |   `--GENERIC_END -> > [69:60]
|       |       |               |--LPAREN -> ( [69:61]
|       |       |               |--ELIST -> ELIST [69:62]
|       |       |               |   |--EXPR -> EXPR [69:62]
|       |       |               |   |   `--NUM_INT -> 0 [69:62]
|       |       |               |   |--COMMA -> , [69:63]
|       |       |               |   `--EXPR -> EXPR [69:65]
|       |       |               |       `--STRING_LITERAL -> "" [69:65]
|       |       |               `--RPAREN -> ) [69:67]
|       |       |--SEMI -> ; [69:68]
|       |       `--RCURLY -> } [70:4]
|       |--CLASS_DEF -> CLASS_DEF [73:4]
|       |   |--MODIFIERS -> MODIFIERS [73:4]
|       |   |--LITERAL_CLASS -> class [73:4]
|       |   |--IDENT -> Inner3 [73:10]
|       |   `--OBJBLOCK -> OBJBLOCK [73:17]
|       |       |--LCURLY -> { [73:17]
|       |       |--CTOR_DEF -> CTOR_DEF [74:8]
|       |       |   |--MODIFIERS -> MODIFIERS [74:8]
|       |       |   |--IDENT -> Inner3 [74:8]
|       |       |   |--LPAREN -> ( [74:14]
|       |       |   |--PARAMETERS -> PARAMETERS [74:15]
|       |       |   |   `--PARAMETER_DEF -> PARAMETER_DEF [74:15]
|       |       |   |       |--MODIFIERS -> MODIFIERS [74:15]
|       |       |   |       |--TYPE -> TYPE [74:15]
|       |       |   |       |   `--LITERAL_INT -> int [74:15]
|       |       |   |       `--IDENT -> x [74:19]
|       |       |   |--RPAREN -> ) [74:20]
|       |       |   `--SLIST -> { [74:22]
|       |       |       |--VARIABLE_DEF -> VARIABLE_DEF [75:12]
|       |       |       |   |--MODIFIERS -> MODIFIERS [75:12]
|       |       |       |   |--TYPE -> TYPE [75:12]
|       |       |       |   |   |--IDENT -> H006_ComplexConstructors [75:12]
|       |       |       |   |   `--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [75:36]
|       |       |       |   |       |--GENERIC_START -> < [75:36]
|       |       |       |   |       |--TYPE_ARGUMENT -> TYPE_ARGUMENT [75:37]
|       |       |       |   |       |   `--IDENT -> Integer [75:37]
|       |       |       |   |       `--GENERIC_END -> > [75:44]
|       |       |       |   |--IDENT -> instance [75:46]
|       |       |       |   `--ASSIGN -> = [75:55]
|       |       |       |       `--EXPR -> EXPR [76:20]
|       |       |       |           `--LITERAL_NEW -> new [76:20]
|       |       |       |               |--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [76:24]
|       |       |       |               |   |--GENERIC_START -> < [76:24]
|       |       |       |               |   |--TYPE_ARGUMENT -> TYPE_ARGUMENT [76:25]
|       |       |       |               |   |   `--IDENT -> String [76:25]
|       |       |       |               |   `--GENERIC_END -> > [76:31]
|       |       |       |               |--IDENT -> H006_ComplexConstructors [76:32]
|       |       |       |               |--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [76:56]
|       |       |       |               |   |--GENERIC_START -> < [76:56]
|       |       |       |               |   |--TYPE_ARGUMENT -> TYPE_ARGUMENT [76:57]
|       |       |       |               |   |   `--IDENT -> Integer [76:57]
|       |       |       |               |   `--GENERIC_END -> > [76:64]
|       |       |       |               |--LPAREN -> ( [76:65]
|       |       |       |               |--ELIST -> ELIST [76:66]
|       |       |       |               |   |--EXPR -> EXPR [76:66]
|       |       |       |               |   |   `--NUM_INT -> 0 [76:66]
|       |       |       |               |   |--COMMA -> , [76:67]
|       |       |       |               |   `--EXPR -> EXPR [76:69]
|       |       |       |               |       `--STRING_LITERAL -> "" [76:69]
|       |       |       |               `--RPAREN -> ) [76:71]
|       |       |       |--SEMI -> ; [76:72]
|       |       |       |--VARIABLE_DEF -> VARIABLE_DEF [77:12]
|       |       |       |   |--MODIFIERS -> MODIFIERS [77:12]
|       |       |       |   |--TYPE -> TYPE [77:12]
|       |       |       |   |   `--IDENT -> Object [77:12]
|       |       |       |   |--IDENT -> o [77:19]
|       |       |       |   `--ASSIGN -> = [77:21]
|       |       |       |       `--EXPR -> EXPR [77:45]
|       |       |       |           `--DOT -> . [77:45]
|       |       |       |               |--DOT -> . [77:31]
|       |       |       |               |   |--IDENT -> instance [77:23]
|       |       |       |               |   `--LITERAL_NEW -> new [77:32]
|       |       |       |               |       |--IDENT -> Inner3 [77:36]
|       |       |       |               |       |--LPAREN -> ( [77:42]
|       |       |       |               |       |--ELIST -> ELIST [77:43]
|       |       |       |               |       |   `--EXPR -> EXPR [77:43]
|       |       |       |               |       |       `--NUM_INT -> 5 [77:43]
|       |       |       |               |       `--RPAREN -> ) [77:44]
|       |       |       |               `--LITERAL_NEW -> new [77:46]
|       |       |       |                   |--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [77:50]
|       |       |       |                   |   |--GENERIC_START -> < [77:50]
|       |       |       |                   |   |--TYPE_ARGUMENT -> TYPE_ARGUMENT [77:51]
|       |       |       |                   |   |   `--IDENT -> String [77:51]
|       |       |       |                   |   `--GENERIC_END -> > [77:57]
|       |       |       |                   |--IDENT -> InnerInner3 [77:58]
|       |       |       |                   |--LPAREN -> ( [77:69]
|       |       |       |                   |--ELIST -> ELIST [77:70]
|       |       |       |                   |   `--EXPR -> EXPR [77:70]
|       |       |       |                   |       `--STRING_LITERAL -> "hey" [77:70]
|       |       |       |                   `--RPAREN -> ) [77:75]
|       |       |       |--SEMI -> ; [77:76]
|       |       |       `--RCURLY -> } [78:8]
|       |       |--CLASS_DEF -> CLASS_DEF [80:8]
|       |       |   |--MODIFIERS -> MODIFIERS [80:8]
|       |       |   |--LITERAL_CLASS -> class [80:8]
|       |       |   |--IDENT -> InnerInner3 [80:14]
|       |       |   `--OBJBLOCK -> OBJBLOCK [80:26]
|       |       |       |--LCURLY -> { [80:26]
|       |       |       |--CTOR_DEF -> CTOR_DEF [81:12]
|       |       |       |   |--MODIFIERS -> MODIFIERS [81:12]
|       |       |       |   |--TYPE_PARAMETERS -> TYPE_PARAMETERS [81:12]
|       |       |       |   |   |--GENERIC_START -> < [81:12]
|       |       |       |   |   |--TYPE_PARAMETER -> TYPE_PARAMETER [81:13]
|       |       |       |   |   |   `--IDENT -> D [81:13]
|       |       |       |   |   `--GENERIC_END -> > [81:14]
|       |       |       |   |--IDENT -> InnerInner3 [81:16]
|       |       |       |   |--LPAREN -> ( [81:27]
|       |       |       |   |--PARAMETERS -> PARAMETERS [81:28]
|       |       |       |   |   `--PARAMETER_DEF -> PARAMETER_DEF [81:28]
|       |       |       |   |       |--MODIFIERS -> MODIFIERS [81:28]
|       |       |       |   |       |--TYPE -> TYPE [81:28]
|       |       |       |   |       |   `--IDENT -> D [81:28]
|       |       |       |   |       `--IDENT -> in [81:30]
|       |       |       |   |--RPAREN -> ) [81:32]
|       |       |       |   `--SLIST -> { [81:34]
|       |       |       |       `--RCURLY -> } [82:12]
|       |       |       `--RCURLY -> } [83:8]
|       |       `--RCURLY -> } [84:4]
|       `--RCURLY -> } [85:0]
`--ANNOTATION_DEF -> ANNOTATION_DEF [87:0]
    |--MODIFIERS -> MODIFIERS [87:0]
    |--AT -> @ [87:0]
    |--LITERAL_INTERFACE -> interface [87:1]
    |--IDENT -> NonNull [87:11]
    `--OBJBLOCK -> OBJBLOCK [87:18]
        |--LCURLY -> { [87:18]
        `--RCURLY -> } [87:19]
