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 -> grammars [1:40]
`--SEMI -> ; [1:48]
IMPORT -> import [3:0]
|--DOT -> . [3:16]
|   |--DOT -> . [3:11]
|   |   |--IDENT -> java [3:7]
|   |   `--IDENT -> util [3:12]
|   `--IDENT -> ArrayList [3:17]
`--SEMI -> ; [3:26]
IMPORT -> import [4:0]
|--DOT -> . [4:16]
|   |--DOT -> . [4:11]
|   |   |--IDENT -> java [4:7]
|   |   `--IDENT -> util [4:12]
|   `--IDENT -> Collection [4:17]
`--SEMI -> ; [4:27]
IMPORT -> import [5:0]
|--DOT -> . [5:16]
|   |--DOT -> . [5:11]
|   |   |--IDENT -> java [5:7]
|   |   `--IDENT -> util [5:12]
|   `--IDENT -> List [5:17]
`--SEMI -> ; [5:21]
CLASS_DEF -> CLASS_DEF [7:0]
|--MODIFIERS -> MODIFIERS [7:0]
|   `--ANNOTATION -> ANNOTATION [7:0]
|       |--AT -> @ [7:0]
|       |--IDENT -> SuppressWarnings [7:1]
|       |--LPAREN -> ( [7:17]
|       |--EXPR -> EXPR [7:18]
|       |   `--STRING_LITERAL -> "serial" [7:18]
|       `--RPAREN -> ) [7:26]
|--LITERAL_CLASS -> class [8:0]
|--IDENT -> InputRegressionJavaClass2 [8:6]
|--EXTENDS_CLAUSE -> extends [8:32]
|   `--IDENT -> ArrayList [8:40]
|--IMPLEMENTS_CLAUSE -> implements [8:50]
|   |--IDENT -> List [8:61]
|   |--COMMA -> , [8:65]
|   `--IDENT -> Collection [8:67]
`--OBJBLOCK -> OBJBLOCK [8:78]
    |--LCURLY -> { [8:78]
    |--CTOR_DEF -> CTOR_DEF [9:4]
    |   |--MODIFIERS -> MODIFIERS [9:4]
    |   |   `--LITERAL_PUBLIC -> public [9:4]
    |   |--IDENT -> InputRegressionJavaClass2 [9:11]
    |   |--LPAREN -> ( [9:36]
    |   |--PARAMETERS -> PARAMETERS [9:37]
    |   |--RPAREN -> ) [9:37]
    |   `--SLIST -> { [9:39]
    |       |--SUPER_CTOR_CALL -> super [9:41]
    |       |   |--LPAREN -> ( [9:46]
    |       |   |--ELIST -> ELIST [9:47]
    |       |   |--RPAREN -> ) [9:47]
    |       |   `--SEMI -> ; [9:48]
    |       `--RCURLY -> } [9:50]
    |--METHOD_DEF -> METHOD_DEF [11:4]
    |   |--MODIFIERS -> MODIFIERS [11:4]
    |   |   |--ANNOTATION -> ANNOTATION [11:4]
    |   |   |   |--AT -> @ [11:4]
    |   |   |   `--IDENT -> Override [11:5]
    |   |   `--LITERAL_PUBLIC -> public [12:4]
    |   |--TYPE -> TYPE [12:11]
    |   |   `--LITERAL_INT -> int [12:11]
    |   |--IDENT -> size [12:15]
    |   |--LPAREN -> ( [12:19]
    |   |--PARAMETERS -> PARAMETERS [12:20]
    |   |--RPAREN -> ) [12:20]
    |   `--SLIST -> { [12:22]
    |       |--LITERAL_RETURN -> return [12:24]
    |       |   |--EXPR -> EXPR [12:41]
    |       |   |   `--METHOD_CALL -> ( [12:41]
    |       |   |       |--DOT -> . [12:36]
    |       |   |       |   |--LITERAL_SUPER -> super [12:31]
    |       |   |       |   `--IDENT -> size [12:37]
    |       |   |       |--ELIST -> ELIST [12:42]
    |       |   |       `--RPAREN -> ) [12:42]
    |       |   `--SEMI -> ; [12:43]
    |       `--RCURLY -> } [12:45]
    |--METHOD_DEF -> METHOD_DEF [13:4]
    |   |--MODIFIERS -> MODIFIERS [13:4]
    |   |   |--ANNOTATION -> ANNOTATION [13:4]
    |   |   |   |--AT -> @ [13:4]
    |   |   |   |--IDENT -> Override [13:5]
    |   |   |   |--LPAREN -> ( [13:13]
    |   |   |   `--RPAREN -> ) [13:14]
    |   |   `--LITERAL_PUBLIC -> public [14:4]
    |   |--TYPE -> TYPE [14:11]
    |   |   `--LITERAL_BOOLEAN -> boolean [14:11]
    |   |--IDENT -> isEmpty [14:19]
    |   |--LPAREN -> ( [14:26]
    |   |--PARAMETERS -> PARAMETERS [14:27]
    |   |--RPAREN -> ) [14:27]
    |   `--SLIST -> { [14:29]
    |       |--LITERAL_RETURN -> return [14:31]
    |       |   |--EXPR -> EXPR [14:77]
    |       |   |   `--METHOD_CALL -> ( [14:77]
    |       |   |       |--DOT -> . [14:69]
    |       |   |       |   |--DOT -> . [14:63]
    |       |   |       |   |   |--IDENT -> InputRegressionJavaClass2 [14:38]
    |       |   |       |   |   `--LITERAL_SUPER -> super [14:64]
    |       |   |       |   `--IDENT -> isEmpty [14:70]
    |       |   |       |--ELIST -> ELIST [14:78]
    |       |   |       `--RPAREN -> ) [14:78]
    |       |   `--SEMI -> ; [14:79]
    |       `--RCURLY -> } [14:81]
    |--CLASS_DEF -> CLASS_DEF [16:4]
    |   |--MODIFIERS -> MODIFIERS [16:4]
    |   |   `--LITERAL_PUBLIC -> public [16:4]
    |   |--LITERAL_CLASS -> class [16:11]
    |   |--IDENT -> Inner1 [16:17]
    |   `--OBJBLOCK -> OBJBLOCK [16:24]
    |       |--LCURLY -> { [16:24]
    |       |--METHOD_DEF -> METHOD_DEF [17:8]
    |       |   |--MODIFIERS -> MODIFIERS [17:8]
    |       |   |   `--LITERAL_PUBLIC -> public [17:8]
    |       |   |--TYPE -> TYPE [17:15]
    |       |   |   `--LITERAL_VOID -> void [17:15]
    |       |   |--IDENT -> m [17:20]
    |       |   |--LPAREN -> ( [17:21]
    |       |   |--PARAMETERS -> PARAMETERS [17:22]
    |       |   |--RPAREN -> ) [17:22]
    |       |   `--SLIST -> { [17:24]
    |       |       |--CLASS_DEF -> CLASS_DEF [18:12]
    |       |       |   |--MODIFIERS -> MODIFIERS [18:12]
    |       |       |   |--LITERAL_CLASS -> class [18:12]
    |       |       |   |--IDENT -> Inner2 [18:18]
    |       |       |   `--OBJBLOCK -> OBJBLOCK [18:25]
    |       |       |       |--LCURLY -> { [18:25]
    |       |       |       `--RCURLY -> } [19:12]
    |       |       `--RCURLY -> } [20:8]
    |       |--SEMI -> ; [20:9]
    |       |--METHOD_DEF -> METHOD_DEF [22:8]
    |       |   |--MODIFIERS -> MODIFIERS [22:8]
    |       |   |   `--LITERAL_PUBLIC -> public [22:8]
    |       |   |--TYPE -> TYPE [22:15]
    |       |   |   `--IDENT -> InputRegressionJavaClass2 [22:15]
    |       |   |--IDENT -> m2 [22:41]
    |       |   |--LPAREN -> ( [22:43]
    |       |   |--PARAMETERS -> PARAMETERS [22:44]
    |       |   |--RPAREN -> ) [22:44]
    |       |   `--SLIST -> { [22:46]
    |       |       |--LITERAL_RETURN -> return [23:12]
    |       |       |   |--EXPR -> EXPR [23:44]
    |       |       |   |   `--DOT -> . [23:44]
    |       |       |   |       |--IDENT -> InputRegressionJavaClass2 [23:19]
    |       |       |   |       `--LITERAL_THIS -> this [23:45]
    |       |       |   `--SEMI -> ; [23:49]
    |       |       `--RCURLY -> } [24:8]
    |       `--RCURLY -> } [25:4]
    |--METHOD_DEF -> METHOD_DEF [27:4]
    |   |--MODIFIERS -> MODIFIERS [27:4]
    |   |   `--LITERAL_PUBLIC -> public [27:4]
    |   |--TYPE -> TYPE [27:11]
    |   |   `--LITERAL_VOID -> void [27:11]
    |   |--IDENT -> m [27:16]
    |   |--LPAREN -> ( [27:17]
    |   |--PARAMETERS -> PARAMETERS [27:18]
    |   |--RPAREN -> ) [27:18]
    |   `--SLIST -> { [27:20]
    |       |--EXPR -> EXPR [27:41]
    |       |   `--METHOD_CALL -> ( [27:41]
    |       |       |--DOT -> . [27:39]
    |       |       |   |--DOT -> . [27:26]
    |       |       |   |   |--LITERAL_THIS -> this [27:22]
    |       |       |   |   `--LITERAL_NEW -> new [27:27]
    |       |       |   |       |--IDENT -> Inner1 [27:31]
    |       |       |   |       |--LPAREN -> ( [27:37]
    |       |       |   |       |--ELIST -> ELIST [27:38]
    |       |       |   |       `--RPAREN -> ) [27:38]
    |       |       |   `--IDENT -> m [27:40]
    |       |       |--ELIST -> ELIST [27:42]
    |       |       `--RPAREN -> ) [27:42]
    |       |--SEMI -> ; [27:43]
    |       `--RCURLY -> } [27:45]
    `--RCURLY -> } [28:0]
CLASS_DEF -> CLASS_DEF [29:0]
|--MODIFIERS -> MODIFIERS [29:0]
|--LITERAL_CLASS -> class [29:0]
|--IDENT -> _c1 [29:6]
`--OBJBLOCK -> OBJBLOCK [29:10]
    |--LCURLY -> { [29:10]
    `--RCURLY -> } [29:11]
CLASS_DEF -> CLASS_DEF [30:0]
|--MODIFIERS -> MODIFIERS [30:0]
|   `--ABSTRACT -> abstract [30:0]
|--LITERAL_CLASS -> class [30:9]
|--IDENT -> c2 [30:15]
`--OBJBLOCK -> OBJBLOCK [30:18]
    |--LCURLY -> { [30:18]
    `--RCURLY -> } [30:19]
CLASS_DEF -> CLASS_DEF [31:0]
|--MODIFIERS -> MODIFIERS [31:0]
|--LITERAL_CLASS -> class [31:0]
|--IDENT -> c3 [31:6]
|--TYPE_PARAMETERS -> TYPE_PARAMETERS [31:8]
|   |--GENERIC_START -> < [31:8]
|   |--TYPE_PARAMETER -> TYPE_PARAMETER [31:9]
|   |   `--IDENT -> A [31:9]
|   `--GENERIC_END -> > [31:10]
`--OBJBLOCK -> OBJBLOCK [31:12]
    |--LCURLY -> { [31:12]
    |--METHOD_DEF -> METHOD_DEF [31:14]
    |   |--MODIFIERS -> MODIFIERS [31:14]
    |   |   `--LITERAL_PUBLIC -> public [31:14]
    |   |--TYPE -> TYPE [31:21]
    |   |   |--IDENT -> c3 [31:21]
    |   |   `--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [31:23]
    |   |       |--GENERIC_START -> < [31:23]
    |   |       |--TYPE_ARGUMENT -> TYPE_ARGUMENT [31:24]
    |   |       |   `--IDENT -> A [31:24]
    |   |       `--GENERIC_END -> > [31:25]
    |   |--IDENT -> m [31:27]
    |   |--LPAREN -> ( [31:28]
    |   |--PARAMETERS -> PARAMETERS [31:29]
    |   |--RPAREN -> ) [31:29]
    |   `--SLIST -> { [31:30]
    |       |--LITERAL_RETURN -> return [31:31]
    |       |   |--EXPR -> EXPR [31:38]
    |       |   |   `--LITERAL_NULL -> null [31:38]
    |       |   `--SEMI -> ; [31:42]
    |       `--RCURLY -> } [31:43]
    `--RCURLY -> } [31:45]
CLASS_DEF -> CLASS_DEF [32:0]
|--MODIFIERS -> MODIFIERS [32:0]
|--LITERAL_CLASS -> class [32:0]
|--IDENT -> c4 [32:6]
|--TYPE_PARAMETERS -> TYPE_PARAMETERS [32:8]
|   |--GENERIC_START -> < [32:8]
|   |--TYPE_PARAMETER -> TYPE_PARAMETER [32:9]
|   |   `--IDENT -> A [32:9]
|   |--COMMA -> , [32:10]
|   |--TYPE_PARAMETER -> TYPE_PARAMETER [32:11]
|   |   `--IDENT -> B [32:11]
|   `--GENERIC_END -> > [32:12]
|--EXTENDS_CLAUSE -> extends [32:14]
|   |--IDENT -> c3 [32:22]
|   `--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [32:24]
|       |--GENERIC_START -> < [32:24]
|       |--TYPE_ARGUMENT -> TYPE_ARGUMENT [32:25]
|       |   `--IDENT -> A [32:25]
|       `--GENERIC_END -> > [32:26]
`--OBJBLOCK -> OBJBLOCK [32:28]
    |--LCURLY -> { [32:28]
    |--CLASS_DEF -> CLASS_DEF [33:4]
    |   |--MODIFIERS -> MODIFIERS [33:4]
    |   |--LITERAL_CLASS -> class [33:4]
    |   |--IDENT -> c4a [33:10]
    |   `--OBJBLOCK -> OBJBLOCK [33:14]
    |       |--LCURLY -> { [33:14]
    |       `--RCURLY -> } [33:15]
    |--CTOR_DEF -> CTOR_DEF [35:4]
    |   |--MODIFIERS -> MODIFIERS [35:4]
    |   |   `--LITERAL_PUBLIC -> public [35:4]
    |   |--IDENT -> c4 [35:11]
    |   |--LPAREN -> ( [35:13]
    |   |--PARAMETERS -> PARAMETERS [35:14]
    |   |--RPAREN -> ) [35:14]
    |   `--SLIST -> { [35:16]
    |       |--SUPER_CTOR_CALL -> super [35:26]
    |       |   |--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [35:18]
    |       |   |   |--GENERIC_START -> < [35:18]
    |       |   |   |--TYPE_ARGUMENT -> TYPE_ARGUMENT [35:19]
    |       |   |   |   `--IDENT -> String [35:19]
    |       |   |   `--GENERIC_END -> > [35:25]
    |       |   |--LPAREN -> ( [35:31]
    |       |   |--ELIST -> ELIST [35:32]
    |       |   |--RPAREN -> ) [35:32]
    |       |   `--SEMI -> ; [35:33]
    |       `--RCURLY -> } [35:35]
    |--METHOD_DEF -> METHOD_DEF [36:4]
    |   |--MODIFIERS -> MODIFIERS [36:4]
    |   |   `--LITERAL_PUBLIC -> public [36:4]
    |   |--TYPE -> TYPE [36:11]
    |   |   |--IDENT -> c3 [36:11]
    |   |   `--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [36:13]
    |   |       |--GENERIC_START -> < [36:13]
    |   |       |--TYPE_ARGUMENT -> TYPE_ARGUMENT [36:14]
    |   |       |   `--IDENT -> A [36:14]
    |   |       `--GENERIC_END -> > [36:15]
    |   |--IDENT -> m [36:17]
    |   |--LPAREN -> ( [36:18]
    |   |--PARAMETERS -> PARAMETERS [36:19]
    |   |--RPAREN -> ) [36:19]
    |   `--SLIST -> { [36:21]
    |       |--LITERAL_RETURN -> return [36:23]
    |       |   |--EXPR -> EXPR [36:40]
    |       |   |   `--METHOD_CALL -> ( [36:40]
    |       |   |       |--DOT -> . [36:35]
    |       |   |       |   |--LITERAL_SUPER -> super [36:30]
    |       |   |       |   |--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [36:36]
    |       |   |       |   |   |--GENERIC_START -> < [36:36]
    |       |   |       |   |   |--TYPE_ARGUMENT -> TYPE_ARGUMENT [36:37]
    |       |   |       |   |   |   `--IDENT -> A [36:37]
    |       |   |       |   |   `--GENERIC_END -> > [36:38]
    |       |   |       |   `--IDENT -> m [36:39]
    |       |   |       |--ELIST -> ELIST [36:41]
    |       |   |       `--RPAREN -> ) [36:41]
    |       |   `--SEMI -> ; [36:42]
    |       `--RCURLY -> } [36:44]
    `--RCURLY -> } [37:0]
CLASS_DEF -> CLASS_DEF [38:0]
|--MODIFIERS -> MODIFIERS [38:0]
|--LITERAL_CLASS -> class [38:0]
|--IDENT -> c5 [38:6]
|--EXTENDS_CLAUSE -> extends [38:9]
|   `--DOT -> . [38:19]
|       |--IDENT -> c4 [38:17]
|       `--IDENT -> c4a [38:20]
`--OBJBLOCK -> OBJBLOCK [38:24]
    |--LCURLY -> { [38:24]
    |--CTOR_DEF -> CTOR_DEF [39:4]
    |   |--MODIFIERS -> MODIFIERS [39:4]
    |   |--IDENT -> c5 [39:4]
    |   |--LPAREN -> ( [39:6]
    |   |--PARAMETERS -> PARAMETERS [39:7]
    |   |--RPAREN -> ) [39:7]
    |   `--SLIST -> { [39:9]
    |       |--SUPER_CTOR_CALL -> super [39:20]
    |       |   |--LITERAL_NEW -> new [39:11]
    |       |   |   |--IDENT -> c4 [39:15]
    |       |   |   |--LPAREN -> ( [39:17]
    |       |   |   |--ELIST -> ELIST [39:18]
    |       |   |   `--RPAREN -> ) [39:18]
    |       |   |--DOT -> . [39:19]
    |       |   |--LPAREN -> ( [39:25]
    |       |   |--ELIST -> ELIST [39:26]
    |       |   |--RPAREN -> ) [39:26]
    |       |   `--SEMI -> ; [39:27]
    |       `--RCURLY -> } [39:29]
    |--CTOR_DEF -> CTOR_DEF [40:4]
    |   |--MODIFIERS -> MODIFIERS [40:4]
    |   |--IDENT -> c5 [40:4]
    |   |--LPAREN -> ( [40:6]
    |   |--PARAMETERS -> PARAMETERS [40:7]
    |   |   `--PARAMETER_DEF -> PARAMETER_DEF [40:7]
    |   |       |--MODIFIERS -> MODIFIERS [40:7]
    |   |       |--TYPE -> TYPE [40:7]
    |   |       |   `--LITERAL_INT -> int [40:7]
    |   |       `--IDENT -> a [40:11]
    |   |--RPAREN -> ) [40:12]
    |   `--SLIST -> { [40:14]
    |       |--SUPER_CTOR_CALL -> super [40:33]
    |       |   |--LITERAL_NEW -> new [40:16]
    |       |   |   |--IDENT -> c4 [40:20]
    |       |   |   |--LPAREN -> ( [40:22]
    |       |   |   |--ELIST -> ELIST [40:23]
    |       |   |   `--RPAREN -> ) [40:23]
    |       |   |--DOT -> . [40:24]
    |       |   |--TYPE_ARGUMENTS -> TYPE_ARGUMENTS [40:25]
    |       |   |   |--GENERIC_START -> < [40:25]
    |       |   |   |--TYPE_ARGUMENT -> TYPE_ARGUMENT [40:26]
    |       |   |   |   `--IDENT -> String [40:26]
    |       |   |   `--GENERIC_END -> > [40:32]
    |       |   |--LPAREN -> ( [40:38]
    |       |   |--ELIST -> ELIST [40:39]
    |       |   |--RPAREN -> ) [40:39]
    |       |   `--SEMI -> ; [40:40]
    |       `--RCURLY -> } [40:42]
    `--RCURLY -> } [41:0]
