GroupRule returns Group: (invalid?="@Invalid")? name=ID "{" (groups+=GroupRule)* ...
class Group boolean invalid derived boolean valid get { !invalid && (eContainer instanceof Group && (eContainer as Group).valid) }
class Group boolean invalid get { this.invalid && (eContainer instanceof Group && (eContainer as Group).invalid) }
class Group { @GenModel(suppressedGetVisibility='true', suppressedSetVisibility='true') boolean invalid derived boolean valid get { !eGet(XyzPackage.Literals.GROUP__INVALID) as Boolean && (eContainer instanceof Group && (eContainer as Group).valid) } }]]>