PACKAGE_DEF -> package [2:0]
|--ANNOTATIONS -> ANNOTATIONS [2:47]
|--DOT -> . [2:47]
|   |--DOT -> . [2:39]
|   |   |--DOT -> . [2:28]
|   |   |   |--DOT -> . [2:22]
|   |   |   |   |--DOT -> . [2:11]
|   |   |   |   |   |--IDENT -> com [2:8]
|   |   |   |   |   `--IDENT -> puppycrawl [2:12]
|   |   |   |   `--IDENT -> tools [2:23]
|   |   |   `--IDENT -> checkstyle [2:29]
|   |   `--IDENT -> grammar [2:40]
|   `--IDENT -> java9 [2:48]
`--SEMI -> ; [2:53]
CLASS_DEF -> CLASS_DEF [7:0]
|--MODIFIERS -> MODIFIERS [7:0]
|   `--LITERAL_PUBLIC -> public [7:0]
|--LITERAL_CLASS -> class [7:7]
|--IDENT -> InputAdvanceJava9TryWithResources [7:13]
|--IMPLEMENTS_CLAUSE -> implements [7:47]
|   `--IDENT -> AutoCloseable [7:58]
`--OBJBLOCK -> OBJBLOCK [8:0]
    |--LCURLY -> { [8:0]
    |--METHOD_DEF -> METHOD_DEF [9:4]
    |   |--MODIFIERS -> MODIFIERS [9:4]
    |   |   |--LITERAL_PUBLIC -> public [9:4]
    |   |   `--LITERAL_STATIC -> static [9:11]
    |   |--TYPE -> TYPE [9:18]
    |   |   `--LITERAL_VOID -> void [9:18]
    |   |--IDENT -> main [9:23]
    |   |--LPAREN -> ( [9:27]
    |   |--PARAMETERS -> PARAMETERS [9:34]
    |   |   `--PARAMETER_DEF -> PARAMETER_DEF [9:34]
    |   |       |--MODIFIERS -> MODIFIERS [9:34]
    |   |       |--TYPE -> TYPE [9:34]
    |   |       |   `--ARRAY_DECLARATOR -> [ [9:34]
    |   |       |       |--IDENT -> String [9:28]
    |   |       |       `--RBRACK -> ] [9:35]
    |   |       `--IDENT -> args [9:37]
    |   |--RPAREN -> ) [9:41]
    |   |--LITERAL_THROWS -> throws [9:43]
    |   |   `--IDENT -> Exception [9:50]
    |   `--SLIST -> { [9:60]
    |       |--VARIABLE_DEF -> VARIABLE_DEF [10:8]
    |       |   |--MODIFIERS -> MODIFIERS [10:8]
    |       |   |--TYPE -> TYPE [10:8]
    |       |   |   `--IDENT -> InputAdvanceJava9TryWithResources [10:8]
    |       |   |--IDENT -> v [10:42]
    |       |   `--ASSIGN -> = [10:44]
    |       |       `--EXPR -> EXPR [10:46]
    |       |           `--LITERAL_NEW -> new [10:46]
    |       |               |--IDENT -> InputAdvanceJava9TryWithResources [10:50]
    |       |               |--LPAREN -> ( [10:83]
    |       |               |--ELIST -> ELIST [10:84]
    |       |               `--RPAREN -> ) [10:84]
    |       |--SEMI -> ; [10:85]
    |       |--LITERAL_TRY -> try [12:8]
    |       |   |--RESOURCE_SPECIFICATION -> RESOURCE_SPECIFICATION [12:12]
    |       |   |   |--LPAREN -> ( [12:12]
    |       |   |   |--RESOURCES -> RESOURCES [12:27]
    |       |   |   |   `--RESOURCE -> RESOURCE [12:27]
    |       |   |   |       `--DOT -> . [12:27]
    |       |   |   |           |--DOT -> . [12:14]
    |       |   |   |           |   |--IDENT -> v [12:13]
    |       |   |   |           |   `--IDENT -> finalWrapper [12:15]
    |       |   |   |           `--IDENT -> finalField [12:28]
    |       |   |   `--RPAREN -> ) [12:38]
    |       |   `--SLIST -> { [12:40]
    |       |       `--RCURLY -> } [13:8]
    |       |--LITERAL_TRY -> try [15:8]
    |       |   |--RESOURCE_SPECIFICATION -> RESOURCE_SPECIFICATION [15:12]
    |       |   |   |--LPAREN -> ( [15:12]
    |       |   |   |--RESOURCES -> RESOURCES [15:69]
    |       |   |   |   `--RESOURCE -> RESOURCE [15:69]
    |       |   |   |       `--DOT -> . [15:69]
    |       |   |   |           |--DOT -> . [15:56]
    |       |   |   |           |   |--LITERAL_NEW -> new [15:13]
    |       |   |   |           |   |   |--IDENT -> InputAdvanceJava9TryWithResources [15:17]
    |       |   |   |           |   |   |--LPAREN -> ( [15:50]
    |       |   |   |           |   |   |--ELIST -> ELIST [15:51]
    |       |   |   |           |   |   |--RPAREN -> ) [15:51]
    |       |   |   |           |   |   `--OBJBLOCK -> OBJBLOCK [15:53]
    |       |   |   |           |   |       |--LCURLY -> { [15:53]
    |       |   |   |           |   |       `--RCURLY -> } [15:55]
    |       |   |   |           |   `--IDENT -> finalWrapper [15:57]
    |       |   |   |           `--IDENT -> finalField [15:70]
    |       |   |   `--RPAREN -> ) [15:80]
    |       |   `--SLIST -> { [15:82]
    |       |       `--RCURLY -> } [16:8]
    |       |--LITERAL_TRY -> try [18:8]
    |       |   |--RESOURCE_SPECIFICATION -> RESOURCE_SPECIFICATION [18:12]
    |       |   |   |--LPAREN -> ( [18:12]
    |       |   |   |--RESOURCES -> RESOURCES [19:71]
    |       |   |   |   `--RESOURCE -> RESOURCE [19:71]
    |       |   |   |       `--DOT -> . [19:71]
    |       |   |   |           |--DOT -> . [19:58]
    |       |   |   |           |   |--LPAREN -> ( [18:13]
    |       |   |   |           |   |--QUESTION -> ? [18:30]
    |       |   |   |           |   |   |--GT -> > [18:26]
    |       |   |   |           |   |   |   |--DOT -> . [18:18]
    |       |   |   |           |   |   |   |   |--IDENT -> args [18:14]
    |       |   |   |           |   |   |   |   `--IDENT -> length [18:19]
    |       |   |   |           |   |   |   `--NUM_INT -> 0 [18:28]
    |       |   |   |           |   |   |--IDENT -> v [18:32]
    |       |   |   |           |   |   |--COLON -> : [19:16]
    |       |   |   |           |   |   `--LITERAL_NEW -> new [19:18]
    |       |   |   |           |   |       |--IDENT -> InputAdvanceJava9TryWithResources [19:22]
    |       |   |   |           |   |       |--LPAREN -> ( [19:55]
    |       |   |   |           |   |       |--ELIST -> ELIST [19:56]
    |       |   |   |           |   |       `--RPAREN -> ) [19:56]
    |       |   |   |           |   |--RPAREN -> ) [19:57]
    |       |   |   |           |   `--IDENT -> finalWrapper [19:59]
    |       |   |   |           `--IDENT -> finalField [19:72]
    |       |   |   `--RPAREN -> ) [19:82]
    |       |   `--SLIST -> { [19:84]
    |       |       `--RCURLY -> } [20:8]
    |       |--VARIABLE_DEF -> VARIABLE_DEF [23:8]
    |       |   |--MODIFIERS -> MODIFIERS [23:8]
    |       |   |--TYPE -> TYPE [23:8]
    |       |   |   `--IDENT -> InputAdvanceJava9TryWithResources [23:8]
    |       |   |--IDENT -> i1 [23:42]
    |       |   `--ASSIGN -> = [23:45]
    |       |       `--EXPR -> EXPR [23:47]
    |       |           `--LITERAL_NEW -> new [23:47]
    |       |               |--IDENT -> InputAdvanceJava9TryWithResources [23:51]
    |       |               |--LPAREN -> ( [23:84]
    |       |               |--ELIST -> ELIST [23:85]
    |       |               `--RPAREN -> ) [23:85]
    |       |--SEMI -> ; [23:86]
    |       |--LITERAL_TRY -> try [24:8]
    |       |   |--RESOURCE_SPECIFICATION -> RESOURCE_SPECIFICATION [24:12]
    |       |   |   |--LPAREN -> ( [24:12]
    |       |   |   |--RESOURCES -> RESOURCES [24:13]
    |       |   |   |   |--RESOURCE -> RESOURCE [24:13]
    |       |   |   |   |   `--IDENT -> i1 [24:13]
    |       |   |   |   |--SEMI -> ; [24:15]
    |       |   |   |   `--RESOURCE -> RESOURCE [24:17]
    |       |   |   |       |--MODIFIERS -> MODIFIERS [24:17]
    |       |   |   |       |--TYPE -> TYPE [24:17]
    |       |   |   |       |   `--IDENT -> InputAdvanceJava9TryWithResources [24:17]
    |       |   |   |       |--IDENT -> i2 [24:51]
    |       |   |   |       `--ASSIGN -> = [24:54]
    |       |   |   |           `--EXPR -> EXPR [25:20]
    |       |   |   |               `--LITERAL_NEW -> new [25:20]
    |       |   |   |                   |--IDENT -> InputAdvanceJava9TryWithResources [25:24]
    |       |   |   |                   |--LPAREN -> ( [25:57]
    |       |   |   |                   |--ELIST -> ELIST [25:58]
    |       |   |   |                   `--RPAREN -> ) [25:58]
    |       |   |   `--RPAREN -> ) [25:59]
    |       |   `--SLIST -> { [25:61]
    |       |       `--RCURLY -> } [26:8]
    |       |--VARIABLE_DEF -> VARIABLE_DEF [28:8]
    |       |   |--MODIFIERS -> MODIFIERS [28:8]
    |       |   |--TYPE -> TYPE [28:8]
    |       |   |   `--IDENT -> InputAdvanceJava9TryWithResources [28:8]
    |       |   |--IDENT -> m1 [28:42]
    |       |   `--ASSIGN -> = [28:45]
    |       |       `--EXPR -> EXPR [28:47]
    |       |           `--LITERAL_NEW -> new [28:47]
    |       |               |--IDENT -> InputAdvanceJava9TryWithResources [28:51]
    |       |               |--LPAREN -> ( [28:84]
    |       |               |--ELIST -> ELIST [28:85]
    |       |               `--RPAREN -> ) [28:85]
    |       |--SEMI -> ; [28:86]
    |       |--LITERAL_TRY -> try [29:8]
    |       |   |--RESOURCE_SPECIFICATION -> RESOURCE_SPECIFICATION [29:12]
    |       |   |   |--LPAREN -> ( [29:12]
    |       |   |   |--RESOURCES -> RESOURCES [29:13]
    |       |   |   |   |--RESOURCE -> RESOURCE [29:13]
    |       |   |   |   |   `--IDENT -> m1 [29:13]
    |       |   |   |   |--SEMI -> ; [29:15]
    |       |   |   |   |--RESOURCE -> RESOURCE [29:17]
    |       |   |   |   |   |--MODIFIERS -> MODIFIERS [29:17]
    |       |   |   |   |   |--TYPE -> TYPE [29:17]
    |       |   |   |   |   |   `--IDENT -> InputAdvanceJava9TryWithResources [29:17]
    |       |   |   |   |   |--IDENT -> m2 [29:51]
    |       |   |   |   |   `--ASSIGN -> = [29:54]
    |       |   |   |   |       `--EXPR -> EXPR [29:56]
    |       |   |   |   |           `--IDENT -> m1 [29:56]
    |       |   |   |   |--SEMI -> ; [29:58]
    |       |   |   |   `--RESOURCE -> RESOURCE [30:16]
    |       |   |   |       |--MODIFIERS -> MODIFIERS [30:16]
    |       |   |   |       |--TYPE -> TYPE [30:16]
    |       |   |   |       |   `--IDENT -> InputAdvanceJava9TryWithResources [30:16]
    |       |   |   |       |--IDENT -> m3 [30:50]
    |       |   |   |       `--ASSIGN -> = [30:53]
    |       |   |   |           `--EXPR -> EXPR [30:55]
    |       |   |   |               `--IDENT -> m2 [30:55]
    |       |   |   |--SEMI -> ; [30:57]
    |       |   |   `--RPAREN -> ) [30:58]
    |       |   `--SLIST -> { [30:60]
    |       |       `--RCURLY -> } [31:8]
    |       `--RCURLY -> } [32:4]
    |--VARIABLE_DEF -> VARIABLE_DEF [34:4]
    |   |--MODIFIERS -> MODIFIERS [34:4]
    |   |   |--FINAL -> final [34:4]
    |   |   `--LITERAL_STATIC -> static [34:10]
    |   |--TYPE -> TYPE [34:17]
    |   |   `--IDENT -> FinalWrapper [34:17]
    |   |--IDENT -> finalWrapper [34:30]
    |   |--ASSIGN -> = [34:43]
    |   |   `--EXPR -> EXPR [34:45]
    |   |       `--LITERAL_NEW -> new [34:45]
    |   |           |--IDENT -> FinalWrapper [34:49]
    |   |           |--LPAREN -> ( [34:61]
    |   |           |--ELIST -> ELIST [34:62]
    |   |           `--RPAREN -> ) [34:62]
    |   `--SEMI -> ; [34:63]
    |--METHOD_DEF -> METHOD_DEF [35:4]
    |   |--MODIFIERS -> MODIFIERS [35:4]
    |   |   `--LITERAL_PUBLIC -> public [35:4]
    |   |--TYPE -> TYPE [35:11]
    |   |   `--LITERAL_VOID -> void [35:11]
    |   |--IDENT -> method [35:16]
    |   |--LPAREN -> ( [35:22]
    |   |--PARAMETERS -> PARAMETERS [35:23]
    |   |--RPAREN -> ) [35:23]
    |   |--LITERAL_THROWS -> throws [35:25]
    |   |   `--IDENT -> Exception [35:32]
    |   `--SLIST -> { [35:42]
    |       |--LITERAL_TRY -> try [36:8]
    |       |   |--RESOURCE_SPECIFICATION -> RESOURCE_SPECIFICATION [36:11]
    |       |   |   |--LPAREN -> ( [36:11]
    |       |   |   |--RESOURCES -> RESOURCES [36:29]
    |       |   |   |   `--RESOURCE -> RESOURCE [36:29]
    |       |   |   |       `--DOT -> . [36:29]
    |       |   |   |           |--DOT -> . [36:16]
    |       |   |   |           |   |--LITERAL_THIS -> this [36:12]
    |       |   |   |           |   `--IDENT -> finalWrapper [36:17]
    |       |   |   |           `--IDENT -> finalField [36:30]
    |       |   |   `--RPAREN -> ) [36:40]
    |       |   `--SLIST -> { [36:42]
    |       |       `--RCURLY -> } [37:8]
    |       `--RCURLY -> } [38:4]
    |--CLASS_DEF -> CLASS_DEF [39:4]
    |   |--MODIFIERS -> MODIFIERS [39:4]
    |   |   `--LITERAL_STATIC -> static [39:4]
    |   |--LITERAL_CLASS -> class [39:11]
    |   |--IDENT -> FinalWrapper [39:17]
    |   `--OBJBLOCK -> OBJBLOCK [39:30]
    |       |--LCURLY -> { [39:30]
    |       |--VARIABLE_DEF -> VARIABLE_DEF [40:8]
    |       |   |--MODIFIERS -> MODIFIERS [40:8]
    |       |   |   |--LITERAL_PUBLIC -> public [40:8]
    |       |   |   `--FINAL -> final [40:15]
    |       |   |--TYPE -> TYPE [40:21]
    |       |   |   `--IDENT -> AutoCloseable [40:21]
    |       |   |--IDENT -> finalField [40:35]
    |       |   |--ASSIGN -> = [40:46]
    |       |   |   `--EXPR -> EXPR [40:48]
    |       |   |       `--LITERAL_NEW -> new [40:48]
    |       |   |           |--IDENT -> AutoCloseable [40:52]
    |       |   |           |--LPAREN -> ( [40:65]
    |       |   |           |--ELIST -> ELIST [40:66]
    |       |   |           |--RPAREN -> ) [40:66]
    |       |   |           `--OBJBLOCK -> OBJBLOCK [40:68]
    |       |   |               |--LCURLY -> { [40:68]
    |       |   |               |--METHOD_DEF -> METHOD_DEF [41:12]
    |       |   |               |   |--MODIFIERS -> MODIFIERS [41:12]
    |       |   |               |   |   |--ANNOTATION -> ANNOTATION [41:12]
    |       |   |               |   |   |   |--AT -> @ [41:12]
    |       |   |               |   |   |   `--IDENT -> Override [41:13]
    |       |   |               |   |   `--LITERAL_PUBLIC -> public [42:12]
    |       |   |               |   |--TYPE -> TYPE [42:19]
    |       |   |               |   |   `--LITERAL_VOID -> void [42:19]
    |       |   |               |   |--IDENT -> close [42:24]
    |       |   |               |   |--LPAREN -> ( [42:29]
    |       |   |               |   |--PARAMETERS -> PARAMETERS [42:30]
    |       |   |               |   |--RPAREN -> ) [42:30]
    |       |   |               |   |--LITERAL_THROWS -> throws [42:32]
    |       |   |               |   |   `--IDENT -> Exception [42:39]
    |       |   |               |   `--SLIST -> { [42:49]
    |       |   |               |       `--RCURLY -> } [43:12]
    |       |   |               `--RCURLY -> } [44:8]
    |       |   `--SEMI -> ; [44:9]
    |       `--RCURLY -> } [45:4]
    |--METHOD_DEF -> METHOD_DEF [46:4]
    |   |--MODIFIERS -> MODIFIERS [46:4]
    |   |   |--ANNOTATION -> ANNOTATION [46:4]
    |   |   |   |--AT -> @ [46:4]
    |   |   |   `--IDENT -> Override [46:5]
    |   |   `--LITERAL_PUBLIC -> public [47:4]
    |   |--TYPE -> TYPE [47:11]
    |   |   `--LITERAL_VOID -> void [47:11]
    |   |--IDENT -> close [47:16]
    |   |--LPAREN -> ( [47:21]
    |   |--PARAMETERS -> PARAMETERS [47:22]
    |   |--RPAREN -> ) [47:22]
    |   |--LITERAL_THROWS -> throws [47:24]
    |   |   `--IDENT -> Exception [47:31]
    |   `--SLIST -> { [47:41]
    |       `--RCURLY -> } [48:4]
    `--RCURLY -> } [49:0]
