PsiJavaFile:Simple.java
  PsiImportList
    <empty list>
  PsiClass:A
    PsiModifierList:
      <empty list>
    PsiKeyword:class('class')
    PsiWhiteSpace(' ')
    PsiIdentifier:A('A')
    PsiTypeParameterList
      <empty list>
    PsiReferenceList
      <empty list>
    PsiReferenceList
      <empty list>
    PsiJavaToken:LBRACE('{')
    PsiWhiteSpace('\n  ')
    PsiClassInitializer
      PsiModifierList:
        <empty list>
      PsiCodeBlock
        PsiJavaToken:LBRACE('{')
        PsiWhiteSpace('\n    ')
        PsiDeclarationStatement
          PsiLocalVariable:a
            PsiModifierList:
              <empty list>
            PsiTypeElement:int[]
              PsiTypeElement:int
                PsiKeyword:int('int')
              PsiJavaToken:LBRACKET('[')
              PsiJavaToken:RBRACKET(']')
            PsiWhiteSpace(' ')
            PsiIdentifier:a('a')
            PsiJavaToken:SEMICOLON(';')
        PsiWhiteSpace('\n    ')
        PsiExpressionStatement
          PsiAssignmentExpression:a[0] = 0
            PsiArrayAccessExpression:a[0]
              PsiReferenceExpression:a
                PsiReferenceParameterList
                  <empty list>
                PsiIdentifier:a('a')
              PsiJavaToken:LBRACKET('[')
              PsiLiteralExpression:0
                PsiJavaToken:INTEGER_LITERAL('0')
              PsiJavaToken:RBRACKET(']')
            PsiWhiteSpace(' ')
            PsiJavaToken:EQ('=')
            PsiWhiteSpace(' ')
            PsiLiteralExpression:0
              PsiJavaToken:INTEGER_LITERAL('0')
          PsiJavaToken:SEMICOLON(';')
        PsiWhiteSpace('\n  ')
        PsiJavaToken:RBRACE('}')
    PsiWhiteSpace('\n')
    PsiJavaToken:RBRACE('}')