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