PsiJavaFile:WildcardParsing.java
  PsiImportList
    <empty list>
  PsiClass:C
    PsiModifierList:
      <empty list>
    PsiKeyword:class('class')
    PsiWhiteSpace(' ')
    PsiIdentifier:C('C')
    PsiTypeParameterList
      <empty list>
    PsiReferenceList
      <empty list>
    PsiReferenceList
      <empty list>
    PsiWhiteSpace(' ')
    PsiJavaToken:LBRACE('{')
    PsiWhiteSpace('\n    ')
    PsiMethod:x
      PsiModifierList:
        <empty list>
      PsiTypeParameterList
        <empty list>
      PsiTypeElement:List<? extends B>
        PsiJavaCodeReferenceElement:List<? extends B>
          PsiIdentifier:List('List')
          PsiReferenceParameterList
            PsiJavaToken:LT('<')
            PsiTypeElement:? extends B
              PsiJavaToken:QUEST('?')
              PsiWhiteSpace(' ')
              PsiKeyword:extends('extends')
              PsiWhiteSpace(' ')
              PsiTypeElement:B
                PsiJavaCodeReferenceElement:B
                  PsiIdentifier:B('B')
                  PsiReferenceParameterList
                    <empty list>
            PsiJavaToken:GT('>')
      PsiWhiteSpace(' ')
      PsiIdentifier:x('x')
      PsiParameterList:(Collection<? super B> x)
        PsiJavaToken:LPARENTH('(')
        PsiParameter:x
          PsiModifierList:
            <empty list>
          PsiTypeElement:Collection<? super B>
            PsiJavaCodeReferenceElement:Collection<? super B>
              PsiIdentifier:Collection('Collection')
              PsiReferenceParameterList
                PsiJavaToken:LT('<')
                PsiTypeElement:? super B
                  PsiJavaToken:QUEST('?')
                  PsiWhiteSpace(' ')
                  PsiKeyword:super('super')
                  PsiWhiteSpace(' ')
                  PsiTypeElement:B
                    PsiJavaCodeReferenceElement:B
                      PsiIdentifier:B('B')
                      PsiReferenceParameterList
                        <empty list>
                PsiJavaToken:GT('>')
          PsiWhiteSpace(' ')
          PsiIdentifier:x('x')
        PsiJavaToken:RPARENTH(')')
      PsiReferenceList
        <empty list>
      PsiWhiteSpace(' ')
      PsiCodeBlock
        PsiJavaToken:LBRACE('{')
        PsiWhiteSpace('\n        ')
        PsiDeclarationStatement
          PsiLocalVariable:x
            PsiModifierList:
              <empty list>
            PsiTypeElement:X<?>
              PsiJavaCodeReferenceElement:X<?>
                PsiIdentifier:X('X')
                PsiReferenceParameterList
                  PsiJavaToken:LT('<')
                  PsiTypeElement:?
                    PsiJavaToken:QUEST('?')
                  PsiJavaToken:GT('>')
            PsiWhiteSpace(' ')
            PsiIdentifier:x('x')
            PsiWhiteSpace(' ')
            PsiJavaToken:EQ('=')
            PsiWhiteSpace(' ')
            PsiNewExpression:new X<B>()
              PsiKeyword:new('new')
              PsiReferenceParameterList
                <empty list>
              PsiWhiteSpace(' ')
              PsiJavaCodeReferenceElement:X<B>
                PsiIdentifier:X('X')
                PsiReferenceParameterList
                  PsiJavaToken:LT('<')
                  PsiTypeElement:B
                    PsiJavaCodeReferenceElement:B
                      PsiIdentifier:B('B')
                      PsiReferenceParameterList
                        <empty list>
                  PsiJavaToken:GT('>')
              PsiExpressionList
                PsiJavaToken:LPARENTH('(')
                PsiJavaToken:RPARENTH(')')
            PsiJavaToken:SEMICOLON(';')
        PsiWhiteSpace('\n        ')
        PsiDeclarationStatement
          PsiLocalVariable:k
            PsiModifierList:
              <empty list>
            PsiTypeElement:X<? super Z<? extends B>>
              PsiJavaCodeReferenceElement:X<? super Z<? extends B>>
                PsiIdentifier:X('X')
                PsiReferenceParameterList
                  PsiJavaToken:LT('<')
                  PsiTypeElement:? super Z<? extends B>
                    PsiJavaToken:QUEST('?')
                    PsiWhiteSpace(' ')
                    PsiKeyword:super('super')
                    PsiWhiteSpace(' ')
                    PsiTypeElement:Z<? extends B>
                      PsiJavaCodeReferenceElement:Z<? extends B>
                        PsiIdentifier:Z('Z')
                        PsiReferenceParameterList
                          PsiJavaToken:LT('<')
                          PsiTypeElement:? extends B
                            PsiJavaToken:QUEST('?')
                            PsiWhiteSpace(' ')
                            PsiKeyword:extends('extends')
                            PsiWhiteSpace(' ')
                            PsiTypeElement:B
                              PsiJavaCodeReferenceElement:B
                                PsiIdentifier:B('B')
                                PsiReferenceParameterList
                                  <empty list>
                          PsiJavaToken:GT('>')
                  PsiJavaToken:GT('>')
            PsiWhiteSpace(' ')
            PsiIdentifier:k('k')
            PsiJavaToken:SEMICOLON(';')
        PsiWhiteSpace('\n    ')
        PsiJavaToken:RBRACE('}')
    PsiWhiteSpace('\n')
    PsiJavaToken:RBRACE('}')
