transient void a () {}
-----
Groovy script
  Method
    Modifiers
      PsiElement(transient)('transient')
    PsiWhiteSpace(' ')
    Built in type
      PsiElement(void)('void')
    PsiWhiteSpace(' ')
    PsiElement(identifier)('a')
    PsiWhiteSpace(' ')
    PsiElement(()('(')
    Parameter list
      <empty list>
    PsiElement())(')')
    Throw clause
      <empty list>
    PsiWhiteSpace(' ')
    Open block
      PsiElement({)('{')
      PsiElement(})('}')