PsiJavaFile:Uncomplete7.java
  PsiImportList
    <empty list>
  PsiClass:MyClass
    PsiModifierList:
      <empty list>
    PsiKeyword:class('class')
    PsiWhiteSpace(' ')
    PsiIdentifier:MyClass('MyClass')
    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')
      PsiParameterList:(Object obj)
        PsiJavaToken:LPARENTH('(')
        PsiParameter:obj
          PsiModifierList:
            <empty list>
          PsiTypeElement:Object
            PsiJavaCodeReferenceElement:Object
              PsiIdentifier:Object('Object')
              PsiReferenceParameterList
                <empty list>
          PsiWhiteSpace(' ')
          PsiIdentifier:obj('obj')
        PsiJavaToken:RPARENTH(')')
      PsiReferenceList
        <empty list>
      PsiWhiteSpace(' ')
      PsiCodeBlock
        PsiJavaToken:LBRACE('{')
        PsiWhiteSpace('\n        ')
        PsiSwitchStatement
          PsiKeyword:switch('switch')
          PsiWhiteSpace(' ')
          PsiJavaToken:LPARENTH('(')
          PsiReferenceExpression:obj
            PsiReferenceParameterList
              <empty list>
            PsiIdentifier:obj('obj')
          PsiJavaToken:RPARENTH(')')
          PsiWhiteSpace(' ')
          PsiCodeBlock
            PsiJavaToken:LBRACE('{')
            PsiWhiteSpace('\n            ')
            PsiSwitchLabelStatement
              PsiKeyword:case('case')
              PsiWhiteSpace(' ')
              PsiCaseLabelElementList
                PsiTypeTestPattern
                  PsiPatternVariable:when
                    PsiModifierList:
                      <empty list>
                    PsiTypeElement:Point
                      PsiJavaCodeReferenceElement:Point
                        PsiIdentifier:Point('Point')
                        PsiReferenceParameterList
                          <empty list>
                    PsiWhiteSpace(' ')
                    PsiIdentifier:when('when')
              PsiErrorElement:':' or '->' expected
                <empty list>
            PsiWhiteSpace('\n        ')
            PsiJavaToken:RBRACE('}')
        PsiWhiteSpace('\n    ')
        PsiJavaToken:RBRACE('}')
    PsiWhiteSpace('\n')
    PsiJavaToken:RBRACE('}')