PsiJavaFile:SwitchRulesWithPattern10.java
  PsiSwitchLabeledRule
    PsiKeyword:case('case')
    PsiWhiteSpace(' ')
    PsiCaseLabelElementList
      PsiDeconstructionPattern
        PsiModifierList:
          <empty list>
        PsiTypeElement:when
          PsiJavaCodeReferenceElement:when
            PsiIdentifier:when('when')
            PsiReferenceParameterList
              <empty list>
        PsiDeconstructionList
          PsiJavaToken:LPARENTH('(')
          PsiTypeTestPattern
            PsiPatternVariable:when
              PsiModifierList:
                <empty list>
              PsiTypeElement:boolean
                PsiKeyword:boolean('boolean')
              PsiWhiteSpace(' ')
              PsiIdentifier:when('when')
          PsiJavaToken:RPARENTH(')')
    PsiWhiteSpace(' ')
    PsiKeyword:when('when')
    PsiWhiteSpace(' ')
    PsiReferenceExpression:when
      PsiReferenceParameterList
        <empty list>
      PsiIdentifier:when('when')
    PsiWhiteSpace(' ')
    PsiJavaToken:ARROW('->')
    PsiWhiteSpace(' ')
    PsiBlockStatement
      PsiCodeBlock
        PsiJavaToken:LBRACE('{')
        PsiJavaToken:RBRACE('}')