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 -> java14 [2:48]
`--SEMI -> ; [2:54]
RECORD_DEF -> RECORD_DEF [4:0]
|--MODIFIERS -> MODIFIERS [4:0]
|   |--ANNOTATION -> ANNOTATION [4:0]
|   |   |--AT -> @ [4:0]
|   |   `--IDENT -> Deprecated [4:1]
|   |--ANNOTATION -> ANNOTATION [4:12]
|   |   |--AT -> @ [4:12]
|   |   `--IDENT -> ProblemCauser [4:13]
|   `--LITERAL_PUBLIC -> public [5:0]
|--LITERAL_RECORD -> record [5:7]
|--IDENT -> InputJava14LocalRecordAnnotation [5:14]
|--LPAREN -> ( [5:46]
|--RECORD_COMPONENTS -> RECORD_COMPONENTS [5:47]
|--RPAREN -> ) [5:47]
`--OBJBLOCK -> OBJBLOCK [5:49]
    |--LCURLY -> { [5:49]
    |--METHOD_DEF -> METHOD_DEF [7:4]
    |   |--MODIFIERS -> MODIFIERS [7:4]
    |   |   `--LITERAL_PUBLIC -> public [7:4]
    |   |--TYPE -> TYPE [7:11]
    |   |   `--LITERAL_VOID -> void [7:11]
    |   |--IDENT -> doThing [7:16]
    |   |--LPAREN -> ( [7:23]
    |   |--PARAMETERS -> PARAMETERS [7:24]
    |   |--RPAREN -> ) [7:24]
    |   `--SLIST -> { [7:26]
    |       |--RECORD_DEF -> RECORD_DEF [9:8]
    |       |   |--MODIFIERS -> MODIFIERS [9:8]
    |       |   |   `--ANNOTATION -> ANNOTATION [9:8]
    |       |   |       |--AT -> @ [9:8]
    |       |   |       `--IDENT -> ProblemCauser [9:9]
    |       |   |--LITERAL_RECORD -> record [10:8]
    |       |   |--IDENT -> Test [10:15]
    |       |   |--LPAREN -> ( [10:19]
    |       |   |--RECORD_COMPONENTS -> RECORD_COMPONENTS [10:20]
    |       |   |   |--RECORD_COMPONENT_DEF -> RECORD_COMPONENT_DEF [10:20]
    |       |   |   |   |--ANNOTATIONS -> ANNOTATIONS [10:20]
    |       |   |   |   |--TYPE -> TYPE [10:20]
    |       |   |   |   |   `--IDENT -> String [10:20]
    |       |   |   |   `--IDENT -> hello [10:27]
    |       |   |   |--COMMA -> , [10:32]
    |       |   |   `--RECORD_COMPONENT_DEF -> RECORD_COMPONENT_DEF [10:34]
    |       |   |       |--ANNOTATIONS -> ANNOTATIONS [10:34]
    |       |   |       |--TYPE -> TYPE [10:34]
    |       |   |       |   `--LITERAL_INT -> int [10:34]
    |       |   |       `--IDENT -> world [10:38]
    |       |   |--RPAREN -> ) [10:43]
    |       |   `--OBJBLOCK -> OBJBLOCK [10:45]
    |       |       |--LCURLY -> { [10:45]
    |       |       `--RCURLY -> } [10:46]
    |       |--CLASS_DEF -> CLASS_DEF [12:8]
    |       |   |--MODIFIERS -> MODIFIERS [12:8]
    |       |   |   `--ANNOTATION -> ANNOTATION [12:8]
    |       |   |       |--AT -> @ [12:8]
    |       |   |       `--IDENT -> ProblemCauser [12:9]
    |       |   |--LITERAL_CLASS -> class [13:8]
    |       |   |--IDENT -> TestClass [13:14]
    |       |   `--OBJBLOCK -> OBJBLOCK [13:24]
    |       |       |--LCURLY -> { [13:24]
    |       |       `--RCURLY -> } [13:25]
    |       |--RECORD_DEF -> RECORD_DEF [15:8]
    |       |   |--MODIFIERS -> MODIFIERS [15:8]
    |       |   |   |--ANNOTATION -> ANNOTATION [15:8]
    |       |   |   |   |--AT -> @ [15:8]
    |       |   |   |   `--IDENT -> ProblemCauser [15:9]
    |       |   |   `--ANNOTATION -> ANNOTATION [15:23]
    |       |   |       |--AT -> @ [15:23]
    |       |   |       `--IDENT -> Deprecated [15:24]
    |       |   |--LITERAL_RECORD -> record [16:8]
    |       |   |--IDENT -> Test2 [16:15]
    |       |   |--LPAREN -> ( [16:20]
    |       |   |--RECORD_COMPONENTS -> RECORD_COMPONENTS [16:21]
    |       |   |   |--RECORD_COMPONENT_DEF -> RECORD_COMPONENT_DEF [16:21]
    |       |   |   |   |--ANNOTATIONS -> ANNOTATIONS [16:21]
    |       |   |   |   |--TYPE -> TYPE [16:21]
    |       |   |   |   |   `--IDENT -> String [16:21]
    |       |   |   |   `--IDENT -> hello [16:28]
    |       |   |   |--COMMA -> , [16:33]
    |       |   |   `--RECORD_COMPONENT_DEF -> RECORD_COMPONENT_DEF [16:35]
    |       |   |       |--ANNOTATIONS -> ANNOTATIONS [16:35]
    |       |   |       |--TYPE -> TYPE [16:35]
    |       |   |       |   `--LITERAL_INT -> int [16:35]
    |       |   |       `--IDENT -> world [16:39]
    |       |   |--RPAREN -> ) [16:44]
    |       |   `--OBJBLOCK -> OBJBLOCK [16:46]
    |       |       |--LCURLY -> { [16:46]
    |       |       `--RCURLY -> } [16:47]
    |       |--CLASS_DEF -> CLASS_DEF [18:8]
    |       |   |--MODIFIERS -> MODIFIERS [18:8]
    |       |   |   |--ANNOTATION -> ANNOTATION [18:8]
    |       |   |   |   |--AT -> @ [18:8]
    |       |   |   |   `--IDENT -> ProblemCauser [18:9]
    |       |   |   `--ANNOTATION -> ANNOTATION [18:23]
    |       |   |       |--AT -> @ [18:23]
    |       |   |       `--IDENT -> Deprecated [18:24]
    |       |   |--LITERAL_CLASS -> class [19:8]
    |       |   |--IDENT -> TestClass2 [19:14]
    |       |   `--OBJBLOCK -> OBJBLOCK [19:25]
    |       |       |--LCURLY -> { [19:25]
    |       |       `--RCURLY -> } [19:26]
    |       `--RCURLY -> } [20:4]
    |--RECORD_DEF -> RECORD_DEF [22:4]
    |   |--MODIFIERS -> MODIFIERS [22:4]
    |   |   |--ANNOTATION -> ANNOTATION [22:4]
    |   |   |   |--AT -> @ [22:4]
    |   |   |   `--IDENT -> Deprecated [22:5]
    |   |   |--ANNOTATION -> ANNOTATION [22:16]
    |   |   |   |--AT -> @ [22:16]
    |   |   |   `--IDENT -> ProblemCauser [22:17]
    |   |   |--LITERAL_PUBLIC -> public [23:4]
    |   |   `--LITERAL_STATIC -> static [23:11]
    |   |--LITERAL_RECORD -> record [23:18]
    |   |--IDENT -> AnnotatedRecordWithVisibilityModifier1 [23:25]
    |   |--LPAREN -> ( [23:63]
    |   |--RECORD_COMPONENTS -> RECORD_COMPONENTS [23:64]
    |   |   `--RECORD_COMPONENT_DEF -> RECORD_COMPONENT_DEF [23:64]
    |   |       |--ANNOTATIONS -> ANNOTATIONS [23:64]
    |   |       |--TYPE -> TYPE [23:64]
    |   |       |   `--IDENT -> String [23:64]
    |   |       `--IDENT -> string [23:71]
    |   |--RPAREN -> ) [23:77]
    |   `--OBJBLOCK -> OBJBLOCK [23:78]
    |       |--LCURLY -> { [23:78]
    |       `--RCURLY -> } [23:79]
    |--RECORD_DEF -> RECORD_DEF [25:4]
    |   |--MODIFIERS -> MODIFIERS [25:4]
    |   |   |--ANNOTATION -> ANNOTATION [25:4]
    |   |   |   |--AT -> @ [25:4]
    |   |   |   `--IDENT -> Deprecated [25:5]
    |   |   |--ANNOTATION -> ANNOTATION [25:16]
    |   |   |   |--AT -> @ [25:16]
    |   |   |   `--IDENT -> ProblemCauser [25:17]
    |   |   `--LITERAL_PROTECTED -> protected [26:4]
    |   |--LITERAL_RECORD -> record [26:14]
    |   |--IDENT -> AnnotatedRecordWithVisibilityModifier2 [26:21]
    |   |--LPAREN -> ( [26:59]
    |   |--RECORD_COMPONENTS -> RECORD_COMPONENTS [26:60]
    |   |   `--RECORD_COMPONENT_DEF -> RECORD_COMPONENT_DEF [26:60]
    |   |       |--ANNOTATIONS -> ANNOTATIONS [26:60]
    |   |       |--TYPE -> TYPE [26:60]
    |   |       |   `--IDENT -> Integer [26:60]
    |   |       `--IDENT -> integer [26:68]
    |   |--RPAREN -> ) [26:75]
    |   `--OBJBLOCK -> OBJBLOCK [26:76]
    |       |--LCURLY -> { [26:76]
    |       `--RCURLY -> } [26:77]
    |--RECORD_DEF -> RECORD_DEF [28:4]
    |   |--MODIFIERS -> MODIFIERS [28:4]
    |   |   |--ANNOTATION -> ANNOTATION [28:4]
    |   |   |   |--AT -> @ [28:4]
    |   |   |   `--IDENT -> Deprecated [28:5]
    |   |   |--ANNOTATION -> ANNOTATION [28:16]
    |   |   |   |--AT -> @ [28:16]
    |   |   |   `--IDENT -> ProblemCauser [28:17]
    |   |   `--LITERAL_PRIVATE -> private [29:4]
    |   |--LITERAL_RECORD -> record [29:12]
    |   |--IDENT -> AnnotatedRecordWithVisibilityModifier3 [29:19]
    |   |--LPAREN -> ( [29:57]
    |   |--RECORD_COMPONENTS -> RECORD_COMPONENTS [29:58]
    |   |   |--RECORD_COMPONENT_DEF -> RECORD_COMPONENT_DEF [29:58]
    |   |   |   |--ANNOTATIONS -> ANNOTATIONS [29:58]
    |   |   |   |--TYPE -> TYPE [29:58]
    |   |   |   |   `--IDENT -> String [29:58]
    |   |   |   `--IDENT -> x [29:65]
    |   |   |--COMMA -> , [29:66]
    |   |   `--RECORD_COMPONENT_DEF -> RECORD_COMPONENT_DEF [29:68]
    |   |       |--ANNOTATIONS -> ANNOTATIONS [29:68]
    |   |       |--TYPE -> TYPE [29:68]
    |   |       |   `--LITERAL_INT -> int [29:68]
    |   |       `--IDENT -> y [29:72]
    |   |--RPAREN -> ) [29:73]
    |   `--OBJBLOCK -> OBJBLOCK [29:74]
    |       |--LCURLY -> { [29:74]
    |       `--RCURLY -> } [29:75]
    |--CLASS_DEF -> CLASS_DEF [31:4]
    |   |--MODIFIERS -> MODIFIERS [31:4]
    |   |   |--ANNOTATION -> ANNOTATION [31:4]
    |   |   |   |--AT -> @ [31:4]
    |   |   |   `--IDENT -> Deprecated [31:5]
    |   |   |--ANNOTATION -> ANNOTATION [31:16]
    |   |   |   |--AT -> @ [31:16]
    |   |   |   `--IDENT -> ProblemCauser [31:17]
    |   |   |--LITERAL_PUBLIC -> public [32:4]
    |   |   `--LITERAL_STATIC -> static [32:11]
    |   |--LITERAL_CLASS -> class [32:18]
    |   |--IDENT -> AnnotatedClassWithVisibilityModifier1 [32:24]
    |   `--OBJBLOCK -> OBJBLOCK [32:62]
    |       |--LCURLY -> { [32:62]
    |       `--RCURLY -> } [32:63]
    |--CLASS_DEF -> CLASS_DEF [34:4]
    |   |--MODIFIERS -> MODIFIERS [34:4]
    |   |   |--ANNOTATION -> ANNOTATION [34:4]
    |   |   |   |--AT -> @ [34:4]
    |   |   |   `--IDENT -> Deprecated [34:5]
    |   |   |--ANNOTATION -> ANNOTATION [34:16]
    |   |   |   |--AT -> @ [34:16]
    |   |   |   `--IDENT -> ProblemCauser [34:17]
    |   |   `--LITERAL_PROTECTED -> protected [35:4]
    |   |--LITERAL_CLASS -> class [35:14]
    |   |--IDENT -> AnnotatedClassWithVisibilityModifier2 [35:20]
    |   `--OBJBLOCK -> OBJBLOCK [35:58]
    |       |--LCURLY -> { [35:58]
    |       `--RCURLY -> } [35:59]
    |--CLASS_DEF -> CLASS_DEF [37:4]
    |   |--MODIFIERS -> MODIFIERS [37:4]
    |   |   |--ANNOTATION -> ANNOTATION [37:4]
    |   |   |   |--AT -> @ [37:4]
    |   |   |   `--IDENT -> Deprecated [37:5]
    |   |   |--ANNOTATION -> ANNOTATION [37:16]
    |   |   |   |--AT -> @ [37:16]
    |   |   |   `--IDENT -> ProblemCauser [37:17]
    |   |   `--LITERAL_PRIVATE -> private [38:4]
    |   |--LITERAL_CLASS -> class [38:12]
    |   |--IDENT -> AnnotatedClassWithVisibilityModifier3 [38:18]
    |   `--OBJBLOCK -> OBJBLOCK [38:56]
    |       |--LCURLY -> { [38:56]
    |       `--RCURLY -> } [38:57]
    `--RCURLY -> } [40:0]
ANNOTATION_DEF -> ANNOTATION_DEF [42:0]
|--MODIFIERS -> MODIFIERS [42:0]
|--AT -> @ [42:0]
|--LITERAL_INTERFACE -> interface [42:1]
|--IDENT -> ProblemCauser [42:11]
`--OBJBLOCK -> OBJBLOCK [42:25]
    |--LCURLY -> { [42:25]
    `--RCURLY -> } [43:0]
