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]
|--IMPORT -> import [3:0]
|   |--DOT -> . [3:14]
|   |   |--DOT -> . [3:11]
|   |   |   |--IDENT -> java [3:7]
|   |   |   `--IDENT -> io [3:12]
|   |   `--IDENT -> Serializable [3:15]
|   `--SEMI -> ; [3:27]
`--CLASS_DEF -> CLASS_DEF [5:0]
    |--MODIFIERS -> MODIFIERS [5:0]
    |--LITERAL_CLASS -> class [5:0]
    |--IDENT -> InputRegressionJavaTypecast [5:6]
    `--OBJBLOCK -> OBJBLOCK [5:34]
        |--LCURLY -> { [5:34]
        |--VARIABLE_DEF -> VARIABLE_DEF [7:4]
        |   |--MODIFIERS -> MODIFIERS [7:4]
        |   |--TYPE -> TYPE [7:4]
        |   |   `--IDENT -> Object [7:4]
        |   |--IDENT -> field [7:11]
        |   |--ASSIGN -> = [7:17]
        |   |   `--EXPR -> EXPR [7:19]
        |   |       `--TYPECAST -> ( [7:19]
        |   |           |--TYPE -> TYPE [7:20]
        |   |           |   `--IDENT -> Cloneable [7:20]
        |   |           |--TYPE_EXTENSION_AND -> & [7:30]
        |   |           |--TYPE -> TYPE [7:32]
        |   |           |   `--IDENT -> Serializable [7:32]
        |   |           |--RPAREN -> ) [7:44]
        |   |           `--LITERAL_NULL -> null [7:46]
        |   `--SEMI -> ; [7:50]
        `--RCURLY -> } [9:0]
