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 -> InputJava9TryWithResources [7:13]
`--OBJBLOCK -> OBJBLOCK [8:0]
    |--LCURLY -> { [8:0]
    |--CLASS_DEF -> CLASS_DEF [9:4]
    |   |--MODIFIERS -> MODIFIERS [9:4]
    |   |   |--LITERAL_PUBLIC -> public [9:4]
    |   |   `--LITERAL_STATIC -> static [9:11]
    |   |--LITERAL_CLASS -> class [9:18]
    |   |--IDENT -> MyResource [9:24]
    |   |--IMPLEMENTS_CLAUSE -> implements [9:35]
    |   |   `--IDENT -> AutoCloseable [9:46]
    |   `--OBJBLOCK -> OBJBLOCK [9:60]
    |       |--LCURLY -> { [9:60]
    |       |--METHOD_DEF -> METHOD_DEF [10:8]
    |       |   |--MODIFIERS -> MODIFIERS [10:8]
    |       |   |   |--ANNOTATION -> ANNOTATION [10:8]
    |       |   |   |   |--AT -> @ [10:8]
    |       |   |   |   `--IDENT -> Override [10:9]
    |       |   |   `--LITERAL_PUBLIC -> public [11:8]
    |       |   |--TYPE -> TYPE [11:15]
    |       |   |   `--LITERAL_VOID -> void [11:15]
    |       |   |--IDENT -> close [11:20]
    |       |   |--LPAREN -> ( [11:25]
    |       |   |--PARAMETERS -> PARAMETERS [11:26]
    |       |   |--RPAREN -> ) [11:26]
    |       |   |--LITERAL_THROWS -> throws [11:28]
    |       |   |   `--IDENT -> Exception [11:35]
    |       |   `--SLIST -> { [11:45]
    |       |       `--RCURLY -> } [11:47]
    |       `--RCURLY -> } [12:4]
    |--METHOD_DEF -> METHOD_DEF [14:4]
    |   |--MODIFIERS -> MODIFIERS [14:4]
    |   |   |--LITERAL_PUBLIC -> public [14:4]
    |   |   `--LITERAL_STATIC -> static [14:11]
    |   |--TYPE -> TYPE [14:18]
    |   |   `--LITERAL_VOID -> void [14:18]
    |   |--IDENT -> main [14:23]
    |   |--LPAREN -> ( [14:27]
    |   |--PARAMETERS -> PARAMETERS [14:34]
    |   |   `--PARAMETER_DEF -> PARAMETER_DEF [14:34]
    |   |       |--MODIFIERS -> MODIFIERS [14:34]
    |   |       |--TYPE -> TYPE [14:34]
    |   |       |   `--ARRAY_DECLARATOR -> [ [14:34]
    |   |       |       |--IDENT -> String [14:28]
    |   |       |       `--RBRACK -> ] [14:35]
    |   |       `--IDENT -> args [14:37]
    |   |--RPAREN -> ) [14:41]
    |   |--LITERAL_THROWS -> throws [14:43]
    |   |   `--IDENT -> Exception [14:50]
    |   `--SLIST -> { [14:60]
    |       |--VARIABLE_DEF -> VARIABLE_DEF [15:8]
    |       |   |--MODIFIERS -> MODIFIERS [15:8]
    |       |   |--TYPE -> TYPE [15:8]
    |       |   |   `--IDENT -> MyResource [15:8]
    |       |   |--IDENT -> resource [15:19]
    |       |   `--ASSIGN -> = [15:28]
    |       |       `--EXPR -> EXPR [15:30]
    |       |           `--LITERAL_NEW -> new [15:30]
    |       |               |--IDENT -> MyResource [15:34]
    |       |               |--LPAREN -> ( [15:44]
    |       |               |--ELIST -> ELIST [15:45]
    |       |               `--RPAREN -> ) [15:45]
    |       |--SEMI -> ; [15:46]
    |       |--LITERAL_TRY -> try [16:8]
    |       |   |--RESOURCE_SPECIFICATION -> RESOURCE_SPECIFICATION [16:12]
    |       |   |   |--LPAREN -> ( [16:12]
    |       |   |   |--RESOURCES -> RESOURCES [16:13]
    |       |   |   |   `--RESOURCE -> RESOURCE [16:13]
    |       |   |   |       `--IDENT -> resource [16:13]
    |       |   |   `--RPAREN -> ) [16:21]
    |       |   |--SLIST -> { [16:23]
    |       |   |   `--RCURLY -> } [16:25]
    |       |   `--LITERAL_FINALLY -> finally [16:27]
    |       |       `--SLIST -> { [16:35]
    |       |           `--RCURLY -> } [16:37]
    |       |--VARIABLE_DEF -> VARIABLE_DEF [18:8]
    |       |   |--MODIFIERS -> MODIFIERS [18:8]
    |       |   |   `--FINAL -> final [18:8]
    |       |   |--TYPE -> TYPE [18:14]
    |       |   |   `--IDENT -> MyResource [18:14]
    |       |   |--IDENT -> resource1 [18:25]
    |       |   `--ASSIGN -> = [18:35]
    |       |       `--EXPR -> EXPR [18:37]
    |       |           `--LITERAL_NEW -> new [18:37]
    |       |               |--IDENT -> MyResource [18:41]
    |       |               |--LPAREN -> ( [18:51]
    |       |               |--ELIST -> ELIST [18:52]
    |       |               `--RPAREN -> ) [18:52]
    |       |--SEMI -> ; [18:53]
    |       |--VARIABLE_DEF -> VARIABLE_DEF [19:8]
    |       |   |--MODIFIERS -> MODIFIERS [19:8]
    |       |   |   `--FINAL -> final [19:8]
    |       |   |--TYPE -> TYPE [19:14]
    |       |   |   `--IDENT -> MyResource [19:14]
    |       |   |--IDENT -> resource2 [19:25]
    |       |   `--ASSIGN -> = [19:35]
    |       |       `--EXPR -> EXPR [19:37]
    |       |           `--LITERAL_NEW -> new [19:37]
    |       |               |--IDENT -> MyResource [19:41]
    |       |               |--LPAREN -> ( [19:51]
    |       |               |--ELIST -> ELIST [19:52]
    |       |               `--RPAREN -> ) [19:52]
    |       |--SEMI -> ; [19:53]
    |       |--LITERAL_TRY -> try [20:8]
    |       |   |--RESOURCE_SPECIFICATION -> RESOURCE_SPECIFICATION [20:12]
    |       |   |   |--LPAREN -> ( [20:12]
    |       |   |   |--RESOURCES -> RESOURCES [20:13]
    |       |   |   |   |--RESOURCE -> RESOURCE [20:13]
    |       |   |   |   |   `--IDENT -> resource1 [20:13]
    |       |   |   |   |--SEMI -> ; [20:22]
    |       |   |   |   `--RESOURCE -> RESOURCE [20:23]
    |       |   |   |       `--IDENT -> resource2 [20:23]
    |       |   |   `--RPAREN -> ) [20:32]
    |       |   |--SLIST -> { [20:34]
    |       |   |   `--RCURLY -> } [20:36]
    |       |   `--LITERAL_FINALLY -> finally [20:38]
    |       |       `--SLIST -> { [20:46]
    |       |           `--RCURLY -> } [20:48]
    |       `--RCURLY -> } [21:4]
    `--RCURLY -> } [22:0]
