@NotNull
@NotNull
package a;
-----
Groovy script
  Package definition
    Modifiers
      Annotation
        PsiElement(@)('@')
        Reference element
          PsiElement(identifier)('NotNull')
        Annotation arguments
          <empty list>
      PsiElement(new line)('\n')
      Annotation
        PsiElement(@)('@')
        Reference element
          PsiElement(identifier)('NotNull')
        Annotation arguments
          <empty list>
    PsiElement(new line)('\n')
    PsiElement(package)('package')
    PsiWhiteSpace(' ')
    Reference element
      PsiElement(identifier)('a')
  PsiElement(;)(';')