COMPILATION_UNIT -> COMPILATION_UNIT [1:0]
|--PACKAGE_DEF -> package [1:0]
|   |--ANNOTATIONS -> ANNOTATIONS [1:39]
|   |--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]
|   `--SEMI -> ; [1:47]
`--CLASS_DEF -> CLASS_DEF [3:0]
    |--MODIFIERS -> MODIFIERS [3:0]
    |   `--LITERAL_PUBLIC -> public [3:0]
    |--LITERAL_CLASS -> class [3:7]
    |--IDENT -> InputAstRegressionTryWithResourcesOnAutoCloseable [3:13]
    `--OBJBLOCK -> OBJBLOCK [3:63]
        |--LCURLY -> { [3:63]
        |--CLASS_DEF -> CLASS_DEF [4:4]
        |   |--MODIFIERS -> MODIFIERS [4:4]
        |   |   `--LITERAL_STATIC -> static [4:4]
        |   |--LITERAL_CLASS -> class [4:11]
        |   |--IDENT -> T [4:17]
        |   |--IMPLEMENTS_CLAUSE -> implements [4:19]
        |   |   `--IDENT -> AutoCloseable [4:30]
        |   `--OBJBLOCK -> OBJBLOCK [4:44]
        |       |--LCURLY -> { [4:44]
        |       |--METHOD_DEF -> METHOD_DEF [5:8]
        |       |   |--MODIFIERS -> MODIFIERS [5:8]
        |       |   |   `--LITERAL_PUBLIC -> public [5:8]
        |       |   |--TYPE -> TYPE [5:15]
        |       |   |   `--LITERAL_VOID -> void [5:15]
        |       |   |--IDENT -> doIt [5:20]
        |       |   |--LPAREN -> ( [5:24]
        |       |   |--PARAMETERS -> PARAMETERS [5:25]
        |       |   |--RPAREN -> ) [5:25]
        |       |   `--SLIST -> { [5:27]
        |       |       |--EXPR -> EXPR [6:16]
        |       |       |   `--METHOD_CALL -> ( [6:16]
        |       |       |       |--IDENT -> open [6:12]
        |       |       |       |--ELIST -> ELIST [6:17]
        |       |       |       `--RPAREN -> ) [6:17]
        |       |       |--SEMI -> ; [6:18]
        |       |       |--LITERAL_TRY -> try [7:12]
        |       |       |   |--RESOURCE_SPECIFICATION -> RESOURCE_SPECIFICATION [7:16]
        |       |       |   |   |--LPAREN -> ( [7:16]
        |       |       |   |   |--RESOURCES -> RESOURCES [7:17]
        |       |       |   |   |   `--RESOURCE -> RESOURCE [7:17]
        |       |       |   |   |       `--LITERAL_THIS -> this [7:17]
        |       |       |   |   `--RPAREN -> ) [7:21]
        |       |       |   `--SLIST -> { [7:23]
        |       |       |       |--EXPR -> EXPR [8:34]
        |       |       |       |   `--METHOD_CALL -> ( [8:34]
        |       |       |       |       |--DOT -> . [8:26]
        |       |       |       |       |   |--DOT -> . [8:22]
        |       |       |       |       |   |   |--IDENT -> System [8:16]
        |       |       |       |       |   |   `--IDENT -> out [8:23]
        |       |       |       |       |   `--IDENT -> println [8:27]
        |       |       |       |       |--ELIST -> ELIST [8:35]
        |       |       |       |       |   `--EXPR -> EXPR [8:35]
        |       |       |       |       |       `--STRING_LITERAL -> "doIt" [8:35]
        |       |       |       |       `--RPAREN -> ) [8:41]
        |       |       |       |--SEMI -> ; [8:42]
        |       |       |       `--RCURLY -> } [9:12]
        |       |       |--VARIABLE_DEF -> VARIABLE_DEF [11:12]
        |       |       |   |--MODIFIERS -> MODIFIERS [11:12]
        |       |       |   |--TYPE -> TYPE [11:12]
        |       |       |   |   `--IDENT -> T [11:12]
        |       |       |   |--IDENT -> t [11:14]
        |       |       |   `--ASSIGN -> = [11:16]
        |       |       |       `--EXPR -> EXPR [11:18]
        |       |       |           `--LITERAL_NEW -> new [11:18]
        |       |       |               |--IDENT -> T [11:22]
        |       |       |               |--LPAREN -> ( [11:23]
        |       |       |               |--ELIST -> ELIST [11:24]
        |       |       |               `--RPAREN -> ) [11:24]
        |       |       |--SEMI -> ; [11:25]
        |       |       |--LITERAL_TRY -> try [13:12]
        |       |       |   |--RESOURCE_SPECIFICATION -> RESOURCE_SPECIFICATION [13:16]
        |       |       |   |   |--LPAREN -> ( [13:16]
        |       |       |   |   |--RESOURCES -> RESOURCES [13:17]
        |       |       |   |   |   `--RESOURCE -> RESOURCE [13:17]
        |       |       |   |   |       `--IDENT -> t [13:17]
        |       |       |   |   `--RPAREN -> ) [13:18]
        |       |       |   `--SLIST -> { [13:20]
        |       |       |       |--EXPR -> EXPR [14:34]
        |       |       |       |   `--METHOD_CALL -> ( [14:34]
        |       |       |       |       |--DOT -> . [14:26]
        |       |       |       |       |   |--DOT -> . [14:22]
        |       |       |       |       |   |   |--IDENT -> System [14:16]
        |       |       |       |       |   |   `--IDENT -> out [14:23]
        |       |       |       |       |   `--IDENT -> println [14:27]
        |       |       |       |       |--ELIST -> ELIST [14:35]
        |       |       |       |       |   `--EXPR -> EXPR [14:35]
        |       |       |       |       |       `--STRING_LITERAL -> "doIt" [14:35]
        |       |       |       |       `--RPAREN -> ) [14:41]
        |       |       |       |--SEMI -> ; [14:42]
        |       |       |       `--RCURLY -> } [15:12]
        |       |       `--RCURLY -> } [16:8]
        |       |--METHOD_DEF -> METHOD_DEF [18:8]
        |       |   |--MODIFIERS -> MODIFIERS [18:8]
        |       |   |   `--LITERAL_PUBLIC -> public [18:8]
        |       |   |--TYPE -> TYPE [18:15]
        |       |   |   `--LITERAL_VOID -> void [18:15]
        |       |   |--IDENT -> open [18:20]
        |       |   |--LPAREN -> ( [18:24]
        |       |   |--PARAMETERS -> PARAMETERS [18:25]
        |       |   |--RPAREN -> ) [18:25]
        |       |   `--SLIST -> { [18:27]
        |       |       |--EXPR -> EXPR [19:30]
        |       |       |   `--METHOD_CALL -> ( [19:30]
        |       |       |       |--DOT -> . [19:22]
        |       |       |       |   |--DOT -> . [19:18]
        |       |       |       |   |   |--IDENT -> System [19:12]
        |       |       |       |   |   `--IDENT -> out [19:19]
        |       |       |       |   `--IDENT -> println [19:23]
        |       |       |       |--ELIST -> ELIST [19:31]
        |       |       |       |   `--EXPR -> EXPR [19:31]
        |       |       |       |       `--STRING_LITERAL -> "open" [19:31]
        |       |       |       `--RPAREN -> ) [19:37]
        |       |       |--SEMI -> ; [19:38]
        |       |       `--RCURLY -> } [20:8]
        |       |--METHOD_DEF -> METHOD_DEF [22:8]
        |       |   |--MODIFIERS -> MODIFIERS [22:8]
        |       |   |   |--ANNOTATION -> ANNOTATION [22:8]
        |       |   |   |   |--AT -> @ [22:8]
        |       |   |   |   `--IDENT -> Override [22:9]
        |       |   |   `--LITERAL_PUBLIC -> public [23:8]
        |       |   |--TYPE -> TYPE [23:15]
        |       |   |   `--LITERAL_VOID -> void [23:15]
        |       |   |--IDENT -> close [23:20]
        |       |   |--LPAREN -> ( [23:25]
        |       |   |--PARAMETERS -> PARAMETERS [23:26]
        |       |   |--RPAREN -> ) [23:26]
        |       |   `--SLIST -> { [23:28]
        |       |       |--EXPR -> EXPR [24:30]
        |       |       |   `--METHOD_CALL -> ( [24:30]
        |       |       |       |--DOT -> . [24:22]
        |       |       |       |   |--DOT -> . [24:18]
        |       |       |       |   |   |--IDENT -> System [24:12]
        |       |       |       |   |   `--IDENT -> out [24:19]
        |       |       |       |   `--IDENT -> println [24:23]
        |       |       |       |--ELIST -> ELIST [24:31]
        |       |       |       |   `--EXPR -> EXPR [24:31]
        |       |       |       |       `--STRING_LITERAL -> "close" [24:31]
        |       |       |       `--RPAREN -> ) [24:38]
        |       |       |--SEMI -> ; [24:39]
        |       |       `--RCURLY -> } [25:8]
        |       `--RCURLY -> } [26:4]
        `--RCURLY -> } [27:0]
