//classgraph before class PackageName : "import" after class PackageName : ";" before class ImportAllClasses : ".*" before class Package : "package" after class Package : ";" after class ClassDef : "." //optional //before part ParamClassName.parameters : "(" //after part ParamClassName.parameters : ")" //optional //before part Part.PartName : "<" //after part Part.PartName : ">" before class OptionalPart : "[" after class OptionalPart : "]" beofre class ConstructionClass : "=" before class AlternationClass : ":" before class RepetitionClass : "~" //optional //before part ClassSpec.actual_aprameters : "(" //after part ClassSpec.actual_parameters : ")" //optional //before part PackageName.IdentOrKeyword : "." before class ArraySpec : "[" after class ArraySpec : "]" after collection Commalist : "," after collection Barlist : "|" //syntax //part temp broken //before part PartCoordinate.SyntaxPartName : "." //alternation class //before part EnhancementBody.SyntaxToken : ":" before class PartCoordinate : "part" before class CollectionCoordinate : "collection" before class ClassBody : "class" before class Left : "{" before class Right : "}" before class Before : "before" before class After : "after"