@interface S {
  def @ann int foo() default 5
}
-----
Groovy script
  Annotation definition
    Modifiers
      <empty list>
    PsiElement(@)('@')
    PsiElement(interface)('interface')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('S')
    PsiWhiteSpace(' ')
    Type definition body
      PsiElement({)('{')
      PsiWhiteSpace('\n  ')
      Default annotation member
        Modifiers
          PsiElement(def)('def')
          PsiWhiteSpace(' ')
          Annotation
            PsiElement(@)('@')
            Reference element
              PsiElement(identifier)('ann')
            Annotation arguments
              <empty list>
        PsiWhiteSpace(' ')
        Built in type
          PsiElement(int)('int')
        PsiWhiteSpace(' ')
        PsiElement(identifier)('foo')
        PsiElement(()('(')
        Parameter list
          <empty list>
        PsiElement())(')')
        PsiWhiteSpace(' ')
        PsiElement(default)('default')
        PsiWhiteSpace(' ')
        Literal
          PsiElement(Integer)('5')
        Throw clause
          <empty list>
      PsiElement(new line)('\n')
      PsiElement(})('}')