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