PsiJavaFile:Uncomplete1.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    ')
        PsiDoWhileStatement
          PsiKeyword:do('do')
          PsiErrorElement:Statement expected
            <empty list>
        PsiWhiteSpace('\n  ')
        PsiJavaToken:RBRACE('}')
    PsiWhiteSpace('\n')
    PsiJavaToken:RBRACE('}')
