factor out TypeDeclaration from (Class/Enum/AnnotationType)Member
factor in EnumBody, InterfaceBody, and AnnotationTypeBody
factor out Throws, factor in QualifiedIdentifierList
oops, forgot to remove reference to TypeArguments
nicegrammar: extracted from jls spec, prose version
nice grammar:  replace 'opt' with '(?)' quantifier
grammar:  factor in some groupings, making the alternatives more clear
nice grammar: get rid of some unnecessary rules, use the + and * repetition operators
nice grammar:  quote all tokens, two spaces between sequential rules, use +/*/sepByN where appropriate
nice grammar:  factor in DimExprs, and move location of Dim repetition
nice grammar: factor in unnecessary rules