PsiJavaFile:ParameterAnnotation.java
  PsiImportList
    <empty list>
  PsiClass:Annotated
    PsiModifierList:public
      PsiKeyword:public('public')
    PsiWhiteSpace(' ')
    PsiKeyword:class('class')
    PsiWhiteSpace(' ')
    PsiIdentifier:Annotated('Annotated')
    PsiTypeParameterList
      <empty list>
    PsiReferenceList
      <empty list>
    PsiReferenceList
      <empty list>
    PsiWhiteSpace(' ')
    PsiJavaToken:LBRACE('{')
    PsiWhiteSpace('\n    ')
    PsiMethod:foo
      PsiModifierList:
        <empty list>
      PsiTypeParameterList
        <empty list>
      PsiTypeElement:void
        PsiKeyword:void('void')
      PsiWhiteSpace(' ')
      PsiIdentifier:foo('foo')
      PsiWhiteSpace(' ')
      PsiParameterList:(@Annotation(value=77) int param)
        PsiJavaToken:LPARENTH('(')
        PsiParameter:param
          PsiModifierList:@Annotation(value=77)
            PsiAnnotation
              PsiJavaToken:AT('@')
              PsiJavaCodeReferenceElement:Annotation
                PsiIdentifier:Annotation('Annotation')
                PsiReferenceParameterList
                  <empty list>
              PsiAnnotationParameterList
                PsiJavaToken:LPARENTH('(')
                PsiNameValuePair
                  PsiIdentifier:value('value')
                  PsiJavaToken:EQ('=')
                  PsiLiteralExpression:77
                    PsiJavaToken:INTEGER_LITERAL('77')
                PsiJavaToken:RPARENTH(')')
          PsiWhiteSpace(' ')
          PsiTypeElement:int
            PsiKeyword:int('int')
          PsiWhiteSpace(' ')
          PsiIdentifier:param('param')
        PsiJavaToken:RPARENTH(')')
      PsiReferenceList
        <empty list>
      PsiWhiteSpace(' ')
      PsiCodeBlock
        PsiJavaToken:LBRACE('{')
        PsiWhiteSpace('\n    ')
        PsiJavaToken:RBRACE('}')
    PsiWhiteSpace('\n')
    PsiJavaToken:RBRACE('}')