@notnull (a = @notnull)
def class b {}
-----
Groovy script
  Class definition
    Modifiers
      Annotation
        PsiElement(@)('@')
        Reference element
          PsiElement(identifier)('notnull')
        PsiWhiteSpace(' ')
        Annotation arguments
          PsiElement(()('(')
          Annotation member value pair
            PsiElement(identifier)('a')
            PsiWhiteSpace(' ')
            PsiElement(=)('=')
            PsiWhiteSpace(' ')
            Annotation
              PsiElement(@)('@')
              Reference element
                PsiElement(identifier)('notnull')
              Annotation arguments
                <empty list>
          PsiElement())(')')
      PsiElement(new line)('\n')
      PsiElement(def)('def')
    PsiWhiteSpace(' ')
    PsiElement(class)('class')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('b')
    Extends clause
      <empty list>
    Implements clause
      <empty list>
    PsiWhiteSpace(' ')
    Type definition body
      PsiElement({)('{')
      PsiElement(})('}')