PsiJavaFile:RecordInCodeBlock.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>
    PsiWhiteSpace(' ')
    PsiJavaToken:LBRACE('{')
    PsiWhiteSpace('\n  ')
    PsiMethod:test
      PsiModifierList:
        <empty list>
      PsiTypeParameterList
        <empty list>
      PsiTypeElement:void
        PsiKeyword:void('void')
      PsiWhiteSpace(' ')
      PsiIdentifier:test('test')
      PsiParameterList:()
        PsiJavaToken:LPARENTH('(')
        PsiJavaToken:RPARENTH(')')
      PsiReferenceList
        <empty list>
      PsiWhiteSpace(' ')
      PsiCodeBlock
        PsiJavaToken:LBRACE('{')
        PsiWhiteSpace('\n    ')
        PsiExpressionStatement
          PsiMethodCallExpression:record.
    foo()
            PsiReferenceExpression:record.
    foo
              PsiReferenceExpression:record
                PsiReferenceParameterList
                  <empty list>
                PsiIdentifier:record('record')
              PsiJavaToken:DOT('.')
              PsiReferenceParameterList
                <empty list>
              PsiWhiteSpace('\n    ')
              PsiIdentifier:foo('foo')
            PsiExpressionList
              PsiJavaToken:LPARENTH('(')
              PsiJavaToken:RPARENTH(')')
          PsiJavaToken:SEMICOLON(';')
        PsiWhiteSpace('\n  ')
        PsiJavaToken:RBRACE('}')
    PsiWhiteSpace('\n')
    PsiJavaToken:RBRACE('}')