PsiJavaFile:ForEach1.java
  PsiImportList
    <empty list>
  PsiClass:Foo
    PsiModifierList:
      <empty list>
    PsiKeyword:class('class')
    PsiWhiteSpace(' ')
    PsiIdentifier:Foo('Foo')
    PsiTypeParameterList
      <empty list>
    PsiReferenceList
      <empty list>
    PsiReferenceList
      <empty list>
    PsiWhiteSpace(' ')
    PsiJavaToken:LBRACE('{')
    PsiWhiteSpace('\n  ')
    PsiClassInitializer
      PsiModifierList:
        <empty list>
      PsiCodeBlock
        PsiJavaToken:LBRACE('{')
        PsiWhiteSpace('\n    ')
        PsiForeachStatement
          PsiKeyword:for('for')
          PsiJavaToken:LPARENTH('(')
          PsiParameter:o
            PsiModifierList:
              <empty list>
            PsiTypeElement:Object
              PsiJavaCodeReferenceElement:Object
                PsiIdentifier:Object('Object')
                PsiReferenceParameterList
                  <empty list>
            PsiWhiteSpace(' ')
            PsiIdentifier:o('o')
          PsiWhiteSpace(' ')
          PsiJavaToken:COLON(':')
          PsiWhiteSpace(' ')
          PsiMethodCallExpression:map.entrySet()
            PsiReferenceExpression:map.entrySet
              PsiReferenceExpression:map
                PsiReferenceParameterList
                  <empty list>
                PsiIdentifier:map('map')
              PsiJavaToken:DOT('.')
              PsiReferenceParameterList
                <empty list>
              PsiIdentifier:entrySet('entrySet')
            PsiExpressionList
              PsiJavaToken:LPARENTH('(')
              PsiJavaToken:RPARENTH(')')
          PsiJavaToken:RPARENTH(')')
          PsiWhiteSpace(' ')
          PsiEmptyStatement
            PsiJavaToken:SEMICOLON(';')
        PsiWhiteSpace('\n  ')
        PsiJavaToken:RBRACE('}')
    PsiWhiteSpace('\n')
    PsiJavaToken:RBRACE('}')