Tir File: FILE(0,1633)
  TirClassDefImpl(TirElementType.CLASS_DEF)(0,1633)
    TirAnnotationDefImpl(TirElementType.ANNOTATION_DEF)(0,11)
      TirAnnotationDefNameImpl(TirElementType.ANNOTATION_DEF_NAME)(0,5)
        PsiElement(TirTokenType.AT)('@')(0,1)
        TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(1,5)
          PsiElement(TirTokenType.IDENTIFIER)('Year')(1,5)
      PsiElement(TirTokenType.LPAREN)('(')(5,6)
      TirAnnotationElementImpl(TirElementType.ANNOTATION_ELEMENT)(6,10)
        TirIntegerAnnotationElementImpl(TirElementType.INTEGER_ANNOTATION_ELEMENT)(6,10)
          PsiElement(TirTokenType.INTEGER)('2022')(6,10)
      PsiElement(TirTokenType.RPAREN)(')')(10,11)
    TirAnnotationDefImpl(TirElementType.ANNOTATION_DEF)(12,53)
      TirAnnotationDefNameImpl(TirElementType.ANNOTATION_DEF_NAME)(12,19)
        PsiElement(TirTokenType.AT)('@')(12,13)
        TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(13,19)
          PsiElement(TirTokenType.IDENTIFIER)('Author')(13,19)
      PsiElement(TirTokenType.LPAREN)('(')(19,20)
      TirAnnotationElementImpl(TirElementType.ANNOTATION_ELEMENT)(20,52)
        TirAnnotationDefImpl(TirElementType.ANNOTATION_DEF)(20,52)
          TirAnnotationDefNameImpl(TirElementType.ANNOTATION_DEF_NAME)(20,25)
            PsiElement(TirTokenType.AT)('@')(20,21)
            TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(21,25)
              PsiElement(TirTokenType.IDENTIFIER)('Name')(21,25)
          PsiElement(TirTokenType.LPAREN)('(')(25,26)
          TirAnnotationKeyElementListImpl(TirElementType.ANNOTATION_KEY_ELEMENT_LIST)(26,51)
            TirAnnotationKeyElementImpl(TirElementType.ANNOTATION_KEY_ELEMENT)(26,38)
              PsiElement(TirTokenType.IDENTIFIER)('given')(26,31)
              PsiElement(TirTokenType.EQUAL)('=')(31,32)
              TirAnnotationElementImpl(TirElementType.ANNOTATION_ELEMENT)(32,38)
                TirStringAnnotationElementImpl(TirElementType.STRING_ANNOTATION_ELEMENT)(32,38)
                  PsiElement(TirTokenType.STRING)('"Tian"')(32,38)
            PsiElement(TirTokenType.COMMA)(',')(38,39)
            TirAnnotationKeyElementImpl(TirElementType.ANNOTATION_KEY_ELEMENT)(39,51)
              PsiElement(TirTokenType.IDENTIFIER)('family')(39,45)
              PsiElement(TirTokenType.EQUAL)('=')(45,46)
              TirAnnotationElementImpl(TirElementType.ANNOTATION_ELEMENT)(46,51)
                TirStringAnnotationElementImpl(TirElementType.STRING_ANNOTATION_ELEMENT)(46,51)
                  PsiElement(TirTokenType.STRING)('"Tan"')(46,51)
          PsiElement(TirTokenType.RPAREN)(')')(51,52)
      PsiElement(TirTokenType.RPAREN)(')')(52,53)
    PsiElement(TirTokenType.CLASS)('class')(54,59)
    TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(60,73)
      PsiElement(TirTokenType.IDENTIFIER)('AnnotatedJava')(60,73)
    TirClassExtendsImpl(TirElementType.CLASS_EXTENDS)(74,98)
      PsiElement(TirTokenType.EXTENDS)('extends')(74,81)
      TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(82,98)
        PsiElement(TirTokenType.IDENTIFIER)('java.lang.Object')(82,98)
    TirClassBodyImpl(TirElementType.CLASS_BODY)(99,1633)
      PsiElement(TirTokenType.LBRACE)('{')(99,100)
      TirClassMemberImpl(TirElementType.CLASS_MEMBER)(106,153)
        TirFieldDefImpl(TirElementType.FIELD_DEF)(106,153)
          TirAnnotationDefImpl(TirElementType.ANNOTATION_DEF)(106,111)
            TirAnnotationDefNameImpl(TirElementType.ANNOTATION_DEF_NAME)(106,111)
              PsiElement(TirTokenType.AT)('@')(106,107)
              TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(107,111)
                PsiElement(TirTokenType.IDENTIFIER)('Anno')(107,111)
          TirAnnotationDefImpl(TirElementType.ANNOTATION_DEF)(116,121)
            TirAnnotationDefNameImpl(TirElementType.ANNOTATION_DEF_NAME)(116,121)
              PsiElement(TirTokenType.AT)('@')(116,117)
              TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(117,121)
                PsiElement(TirTokenType.IDENTIFIER)('Year')(117,121)
          TirModifierFieldImpl(TirElementType.MODIFIER_FIELD)(126,133)
            PsiElement(TirTokenType.PRIVATE)('private')(126,133)
          TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(134,150)
            TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(134,150)
              PsiElement(TirTokenType.IDENTIFIER)('java.lang.Object')(134,150)
          TirIdentifierFieldListImpl(TirElementType.IDENTIFIER_FIELD_LIST)(151,152)
            TirIdentifierFieldImpl(TirElementType.IDENTIFIER_FIELD)(151,152)
              PsiElement(TirTokenType.IDENTIFIER)('o')(151,152)
          PsiElement(TirTokenType.SEMICOLON)(';')(152,153)
      TirClassMemberImpl(TirElementType.CLASS_MEMBER)(159,189)
        TirFieldDefImpl(TirElementType.FIELD_DEF)(159,189)
          TirAnnotationDefImpl(TirElementType.ANNOTATION_DEF)(159,170)
            TirAnnotationDefNameImpl(TirElementType.ANNOTATION_DEF_NAME)(159,164)
              PsiElement(TirTokenType.AT)('@')(159,160)
              TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(160,164)
                PsiElement(TirTokenType.IDENTIFIER)('Year')(160,164)
            PsiElement(TirTokenType.LPAREN)('(')(164,165)
            TirAnnotationElementImpl(TirElementType.ANNOTATION_ELEMENT)(165,169)
              TirIntegerAnnotationElementImpl(TirElementType.INTEGER_ANNOTATION_ELEMENT)(165,169)
                PsiElement(TirTokenType.INTEGER)('1999')(165,169)
            PsiElement(TirTokenType.RPAREN)(')')(169,170)
          TirModifierFieldImpl(TirElementType.MODIFIER_FIELD)(175,182)
            PsiElement(TirTokenType.PRIVATE)('private')(175,182)
          TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(183,186)
            TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(183,186)
              PsiElement(TirTokenType.IDENTIFIER)('int')(183,186)
          TirIdentifierFieldListImpl(TirElementType.IDENTIFIER_FIELD_LIST)(187,188)
            TirIdentifierFieldImpl(TirElementType.IDENTIFIER_FIELD)(187,188)
              PsiElement(TirTokenType.IDENTIFIER)('i')(187,188)
          PsiElement(TirTokenType.SEMICOLON)(';')(188,189)
      TirClassMemberImpl(TirElementType.CLASS_MEMBER)(195,262)
        TirFieldDefImpl(TirElementType.FIELD_DEF)(195,262)
          TirAnnotationDefImpl(TirElementType.ANNOTATION_DEF)(195,230)
            TirAnnotationDefNameImpl(TirElementType.ANNOTATION_DEF_NAME)(195,201)
              PsiElement(TirTokenType.AT)('@')(195,196)
              TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(196,201)
                PsiElement(TirTokenType.IDENTIFIER)('Cards')(196,201)
            PsiElement(TirTokenType.LPAREN)('(')(201,202)
            TirAnnotationElementImpl(TirElementType.ANNOTATION_ELEMENT)(202,229)
              TirArrayAnnotationElementImpl(TirElementType.ARRAY_ANNOTATION_ELEMENT)(202,229)
                PsiElement(TirTokenType.LBRACE)('{')(202,203)
                TirAnnotationElementListImpl(TirElementType.ANNOTATION_ELEMENT_LIST)(203,228)
                  TirAnnotationElementImpl(TirElementType.ANNOTATION_ELEMENT)(203,215)
                    TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(203,215)
                      PsiElement(TirTokenType.IDENTIFIER)('Mahjong.FENG')(203,215)
                  PsiElement(TirTokenType.COMMA)(',')(215,216)
                  TirAnnotationElementImpl(TirElementType.ANNOTATION_ELEMENT)(216,228)
                    TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(216,228)
                      PsiElement(TirTokenType.IDENTIFIER)('Mahjong.TIAO')(216,228)
                PsiElement(TirTokenType.RBRACE)('}')(228,229)
            PsiElement(TirTokenType.RPAREN)(')')(229,230)
          TirModifierFieldImpl(TirElementType.MODIFIER_FIELD)(235,242)
            PsiElement(TirTokenType.PRIVATE)('private')(235,242)
          TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(243,259)
            TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(243,259)
              PsiElement(TirTokenType.IDENTIFIER)('java.lang.String')(243,259)
          TirIdentifierFieldListImpl(TirElementType.IDENTIFIER_FIELD_LIST)(260,261)
            TirIdentifierFieldImpl(TirElementType.IDENTIFIER_FIELD)(260,261)
              PsiElement(TirTokenType.IDENTIFIER)('s')(260,261)
          PsiElement(TirTokenType.SEMICOLON)(';')(261,262)
      TirClassMemberImpl(TirElementType.CLASS_MEMBER)(268,321)
        TirFieldDefImpl(TirElementType.FIELD_DEF)(268,321)
          TirModifierFieldImpl(TirElementType.MODIFIER_FIELD)(268,274)
            PsiElement(TirTokenType.PUBLIC)('public')(268,274)
          TirModifierFieldImpl(TirElementType.MODIFIER_FIELD)(275,281)
            PsiElement(TirTokenType.STATIC)('static')(275,281)
          TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(282,297)
            TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(282,297)
              PsiElement(TirTokenType.IDENTIFIER)('java.lang.Class')(282,297)
          TirIdentifierFieldListImpl(TirElementType.IDENTIFIER_FIELD_LIST)(298,320)
            TirIdentifierFieldImpl(TirElementType.IDENTIFIER_FIELD)(298,320)
              PsiElement(TirTokenType.IDENTIFIER)('class$java$lang$String')(298,320)
          PsiElement(TirTokenType.SEMICOLON)(';')(320,321)
      TirClassMemberImpl(TirElementType.CLASS_MEMBER)(327,508)
        TirMethodDefImpl(TirElementType.METHOD_DEF)(327,508)
          TirMethodSigImpl(TirElementType.METHOD_SIG)(327,422)
            TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(327,343)
              TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(327,343)
                PsiElement(TirTokenType.IDENTIFIER)('java.lang.Object')(327,343)
            TirIdentifierMethodImpl(TirElementType.IDENTIFIER_METHOD)(344,347)
              PsiElement(TirTokenType.IDENTIFIER)('foo')(344,347)
            PsiElement(TirTokenType.LPAREN)('(')(347,348)
            TirMethodSigParamsImpl(TirElementType.METHOD_SIG_PARAMS)(348,421)
              TirAnnotationDefImpl(TirElementType.ANNOTATION_DEF)(348,353)
                TirAnnotationDefNameImpl(TirElementType.ANNOTATION_DEF_NAME)(348,353)
                  PsiElement(TirTokenType.AT)('@')(348,349)
                  TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(349,353)
                    PsiElement(TirTokenType.IDENTIFIER)('Anno')(349,353)
              TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(354,370)
                TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(354,370)
                  PsiElement(TirTokenType.IDENTIFIER)('java.lang.Object')(354,370)
              PsiElement(TirTokenType.IDENTIFIER)('p1')(371,373)
              PsiElement(TirTokenType.COMMA)(',')(373,374)
              TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(375,378)
                TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(375,378)
                  PsiElement(TirTokenType.IDENTIFIER)('int')(375,378)
              PsiElement(TirTokenType.IDENTIFIER)('p2')(379,381)
              PsiElement(TirTokenType.COMMA)(',')(381,382)
              TirAnnotationDefImpl(TirElementType.ANNOTATION_DEF)(383,401)
                TirAnnotationDefNameImpl(TirElementType.ANNOTATION_DEF_NAME)(383,393)
                  PsiElement(TirTokenType.AT)('@')(383,384)
                  TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(384,393)
                    PsiElement(TirTokenType.IDENTIFIER)('Copyright')(384,393)
                PsiElement(TirTokenType.LPAREN)('(')(393,394)
                TirAnnotationElementImpl(TirElementType.ANNOTATION_ELEMENT)(394,400)
                  TirStringAnnotationElementImpl(TirElementType.STRING_ANNOTATION_ELEMENT)(394,400)
                    PsiElement(TirTokenType.STRING)('"Free"')(394,400)
                PsiElement(TirTokenType.RPAREN)(')')(400,401)
              TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(402,418)
                TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(402,418)
                  PsiElement(TirTokenType.IDENTIFIER)('java.lang.String')(402,418)
              PsiElement(TirTokenType.IDENTIFIER)('p3')(419,421)
            PsiElement(TirTokenType.RPAREN)(')')(421,422)
          TirMethodBodyImpl(TirElementType.METHOD_BODY)(423,508)
            PsiElement(TirTokenType.LBRACE)('{')(423,424)
            TirMethodBodyVarImpl(TirElementType.METHOD_BODY_VAR)(433,452)
              TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(433,449)
                TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(433,449)
                  PsiElement(TirTokenType.IDENTIFIER)('java.lang.Object')(433,449)
              TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(450,451)
                PsiElement(TirTokenType.IDENTIFIER)('r')(450,451)
              PsiElement(TirTokenType.SEMICOLON)(';')(451,452)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(461,476)
              PsiElement(TirTokenType.LINE_NUMBER)('[0@L16]')(461,468)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(469,475)
                TirLvalueImpl(TirElementType.LVALUE)(469,470)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(469,470)
                    PsiElement(TirTokenType.IDENTIFIER)('r')(469,470)
                PsiElement(TirTokenType.EQUAL)('=')(471,472)
                TirRvalueImpl(TirElementType.RVALUE)(473,475)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(473,475)
                    PsiElement(TirTokenType.IDENTIFIER)('p1')(473,475)
              PsiElement(TirTokenType.SEMICOLON)(';')(475,476)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(485,502)
              PsiElement(TirTokenType.LINE_NUMBER)('[1@L17]')(485,492)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(493,501)
                PsiElement(TirTokenType.RETURN)('return')(493,499)
                TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(500,501)
                  PsiElement(TirTokenType.IDENTIFIER)('r')(500,501)
              PsiElement(TirTokenType.SEMICOLON)(';')(501,502)
            PsiElement(TirTokenType.RBRACE)('}')(507,508)
      TirClassMemberImpl(TirElementType.CLASS_MEMBER)(514,631)
        TirMethodDefImpl(TirElementType.METHOD_DEF)(514,631)
          TirAnnotationDefImpl(TirElementType.ANNOTATION_DEF)(514,548)
            TirAnnotationDefNameImpl(TirElementType.ANNOTATION_DEF_NAME)(514,524)
              PsiElement(TirTokenType.AT)('@')(514,515)
              TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(515,524)
                PsiElement(TirTokenType.IDENTIFIER)('ClassAnno')(515,524)
            PsiElement(TirTokenType.LPAREN)('(')(524,525)
            TirAnnotationElementImpl(TirElementType.ANNOTATION_ELEMENT)(525,547)
              TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(525,547)
                PsiElement(TirTokenType.IDENTIFIER)('java.lang.String.class')(525,547)
            PsiElement(TirTokenType.RPAREN)(')')(547,548)
          TirAnnotationDefImpl(TirElementType.ANNOTATION_DEF)(553,584)
            TirAnnotationDefNameImpl(TirElementType.ANNOTATION_DEF_NAME)(553,563)
              PsiElement(TirTokenType.AT)('@')(553,554)
              TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(554,563)
                PsiElement(TirTokenType.IDENTIFIER)('Copyright')(554,563)
            PsiElement(TirTokenType.LPAREN)('(')(563,564)
            TirAnnotationElementImpl(TirElementType.ANNOTATION_ELEMENT)(564,583)
              TirStringAnnotationElementImpl(TirElementType.STRING_ANNOTATION_ELEMENT)(564,583)
                PsiElement(TirTokenType.STRING)('"2022 PASCAL group"')(564,583)
            PsiElement(TirTokenType.RPAREN)(')')(583,584)
          TirMethodSigImpl(TirElementType.METHOD_SIG)(589,599)
            TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(589,593)
              TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(589,593)
                PsiElement(TirTokenType.IDENTIFIER)('void')(589,593)
            TirIdentifierMethodImpl(TirElementType.IDENTIFIER_METHOD)(594,597)
              PsiElement(TirTokenType.IDENTIFIER)('baz')(594,597)
            PsiElement(TirTokenType.LPAREN)('(')(597,598)
            PsiElement(TirTokenType.RPAREN)(')')(598,599)
          TirMethodBodyImpl(TirElementType.METHOD_BODY)(600,631)
            PsiElement(TirTokenType.LBRACE)('{')(600,601)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(610,625)
              PsiElement(TirTokenType.LINE_NUMBER)('[0@L20]')(610,617)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(618,624)
                PsiElement(TirTokenType.RETURN)('return')(618,624)
              PsiElement(TirTokenType.SEMICOLON)(';')(624,625)
            PsiElement(TirTokenType.RBRACE)('}')(630,631)
      TirClassMemberImpl(TirElementType.CLASS_MEMBER)(637,688)
        TirMethodDefImpl(TirElementType.METHOD_DEF)(637,688)
          TirMethodSigImpl(TirElementType.METHOD_SIG)(637,656)
            TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(637,641)
              TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(637,641)
                PsiElement(TirTokenType.IDENTIFIER)('void')(637,641)
            TirIdentifierMethodImpl(TirElementType.IDENTIFIER_METHOD)(642,654)
              PsiElement(TirTokenType.IDENTIFIER)('notAnnotated')(642,654)
            PsiElement(TirTokenType.LPAREN)('(')(654,655)
            PsiElement(TirTokenType.RPAREN)(')')(655,656)
          TirMethodBodyImpl(TirElementType.METHOD_BODY)(657,688)
            PsiElement(TirTokenType.LBRACE)('{')(657,658)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(667,682)
              PsiElement(TirTokenType.LINE_NUMBER)('[0@L25]')(667,674)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(675,681)
                PsiElement(TirTokenType.RETURN)('return')(675,681)
              PsiElement(TirTokenType.SEMICOLON)(';')(681,682)
            PsiElement(TirTokenType.RBRACE)('}')(687,688)
      TirClassMemberImpl(TirElementType.CLASS_MEMBER)(694,810)
        TirMethodDefImpl(TirElementType.METHOD_DEF)(694,810)
          TirMethodSigImpl(TirElementType.METHOD_SIG)(694,707)
            TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(694,698)
              TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(694,698)
                PsiElement(TirTokenType.IDENTIFIER)('void')(694,698)
            TirIdentifierMethodImpl(TirElementType.IDENTIFIER_METHOD)(699,705)
              PsiElement(TirTokenType.LANGLE)('<')(699,700)
              PsiElement(TirTokenType.IDENTIFIER)('init')(700,704)
              PsiElement(TirTokenType.RANGLE)('>')(704,705)
            PsiElement(TirTokenType.LPAREN)('(')(705,706)
            PsiElement(TirTokenType.RPAREN)(')')(706,707)
          TirMethodBodyImpl(TirElementType.METHOD_BODY)(708,810)
            PsiElement(TirTokenType.LBRACE)('{')(708,709)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(718,781)
              PsiElement(TirTokenType.LINE_NUMBER)('[0@L3]')(718,724)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(725,780)
                TirInvokeExprImpl(TirElementType.INVOKE_EXPR)(725,780)
                  TirInvokeInstanceExprImpl(TirElementType.INVOKE_INSTANCE_EXPR)(725,780)
                    TirInvokeInstanceKeyImpl(TirElementType.INVOKE_INSTANCE_KEY)(725,738)
                      PsiElement(TirTokenType.INVOKE_SPECIAL)('invokespecial')(725,738)
                    TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(739,744)
                      PsiElement(TirTokenType.CONSTANT_IDENTIFIER)('%this')(739,744)
                    PsiElement(TirTokenType.DOT)('.')(744,745)
                    TirInvokeMethodRefImpl(TirElementType.INVOKE_METHOD_REF)(745,778)
                      PsiElement(TirTokenType.LANGLE)('<')(745,746)
                      TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(746,762)
                        PsiElement(TirTokenType.IDENTIFIER)('java.lang.Object')(746,762)
                      PsiElement(TirTokenType.COLON)(':')(762,763)
                      TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(764,768)
                        TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(764,768)
                          PsiElement(TirTokenType.IDENTIFIER)('void')(764,768)
                      TirIdentifierMethodImpl(TirElementType.IDENTIFIER_METHOD)(769,775)
                        PsiElement(TirTokenType.LANGLE)('<')(769,770)
                        PsiElement(TirTokenType.IDENTIFIER)('init')(770,774)
                        PsiElement(TirTokenType.RANGLE)('>')(774,775)
                      PsiElement(TirTokenType.LPAREN)('(')(775,776)
                      PsiElement(TirTokenType.RPAREN)(')')(776,777)
                      PsiElement(TirTokenType.RANGLE)('>')(777,778)
                    PsiElement(TirTokenType.LPAREN)('(')(778,779)
                    PsiElement(TirTokenType.RPAREN)(')')(779,780)
              PsiElement(TirTokenType.SEMICOLON)(';')(780,781)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(790,804)
              PsiElement(TirTokenType.LINE_NUMBER)('[1@L3]')(790,796)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(797,803)
                PsiElement(TirTokenType.RETURN)('return')(797,803)
              PsiElement(TirTokenType.SEMICOLON)(';')(803,804)
            PsiElement(TirTokenType.RBRACE)('}')(809,810)
      TirClassMemberImpl(TirElementType.CLASS_MEMBER)(816,1630)
        TirMethodDefImpl(TirElementType.METHOD_DEF)(816,1630)
          TirModifierMethodImpl(TirElementType.MODIFIER_METHOD)(816,822)
            PsiElement(TirTokenType.PUBLIC)('public')(816,822)
          TirModifierMethodImpl(TirElementType.MODIFIER_METHOD)(823,829)
            PsiElement(TirTokenType.STATIC)('static')(823,829)
          TirMethodSigImpl(TirElementType.METHOD_SIG)(830,875)
            TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(830,845)
              TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(830,845)
                PsiElement(TirTokenType.IDENTIFIER)('java.lang.Class')(830,845)
            TirIdentifierMethodImpl(TirElementType.IDENTIFIER_METHOD)(846,852)
              PsiElement(TirTokenType.IDENTIFIER)('class$')(846,852)
            PsiElement(TirTokenType.LPAREN)('(')(852,853)
            TirMethodSigParamsImpl(TirElementType.METHOD_SIG_PARAMS)(853,874)
              TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(853,869)
                TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(853,869)
                  PsiElement(TirTokenType.IDENTIFIER)('java.lang.String')(853,869)
              PsiElement(TirTokenType.IDENTIFIER)('name')(870,874)
            PsiElement(TirTokenType.RPAREN)(')')(874,875)
          TirMethodBodyImpl(TirElementType.METHOD_BODY)(876,1630)
            PsiElement(TirTokenType.LBRACE)('{')(876,877)
            TirMethodBodyVarImpl(TirElementType.METHOD_BODY_VAR)(886,909)
              TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(886,901)
                TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(886,901)
                  PsiElement(TirTokenType.IDENTIFIER)('java.lang.Class')(886,901)
              TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(902,908)
                PsiElement(TirTokenType.IDENTIFIER)('temp$0')(902,908)
              PsiElement(TirTokenType.SEMICOLON)(';')(908,909)
            TirMethodBodyVarImpl(TirElementType.METHOD_BODY_VAR)(918,953)
              TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(918,950)
                TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(918,950)
                  PsiElement(TirTokenType.IDENTIFIER)('java.lang.ClassNotFoundException')(918,950)
              TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(951,952)
                PsiElement(TirTokenType.IDENTIFIER)('e')(951,952)
              PsiElement(TirTokenType.SEMICOLON)(';')(952,953)
            TirMethodBodyVarImpl(TirElementType.METHOD_BODY_VAR)(962,1000)
              TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(962,992)
                TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(962,992)
                  PsiElement(TirTokenType.IDENTIFIER)('java.lang.NoClassDefFoundError')(962,992)
              TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(993,999)
                PsiElement(TirTokenType.IDENTIFIER)('temp$1')(993,999)
              PsiElement(TirTokenType.SEMICOLON)(';')(999,1000)
            TirMethodBodyVarImpl(TirElementType.METHOD_BODY_VAR)(1009,1033)
              TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(1009,1025)
                TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(1009,1025)
                  PsiElement(TirTokenType.IDENTIFIER)('java.lang.String')(1009,1025)
              TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1026,1032)
                PsiElement(TirTokenType.IDENTIFIER)('temp$2')(1026,1032)
              PsiElement(TirTokenType.SEMICOLON)(';')(1032,1033)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(1042,1053)
              PsiElement(TirTokenType.LINE_NUMBER)('[0@L3]')(1042,1048)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(1049,1052)
                PsiElement(TirTokenType.NOP)('nop')(1049,1052)
              PsiElement(TirTokenType.SEMICOLON)(';')(1052,1053)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(1062,1158)
              PsiElement(TirTokenType.LINE_NUMBER)('[1@L3]')(1062,1068)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(1069,1157)
                TirLvalueImpl(TirElementType.LVALUE)(1069,1075)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1069,1075)
                    PsiElement(TirTokenType.IDENTIFIER)('temp$0')(1069,1075)
                PsiElement(TirTokenType.EQUAL)('=')(1076,1077)
                TirRvalueImpl(TirElementType.RVALUE)(1078,1157)
                  TirInvokeExprImpl(TirElementType.INVOKE_EXPR)(1078,1157)
                    TirInvokeStaticExprImpl(TirElementType.INVOKE_STATIC_EXPR)(1078,1157)
                      PsiElement(TirTokenType.INVOKE_STATIC)('invokestatic')(1078,1090)
                      TirInvokeMethodRefImpl(TirElementType.INVOKE_METHOD_REF)(1091,1151)
                        PsiElement(TirTokenType.LANGLE)('<')(1091,1092)
                        TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(1092,1107)
                          PsiElement(TirTokenType.IDENTIFIER)('java.lang.Class')(1092,1107)
                        PsiElement(TirTokenType.COLON)(':')(1107,1108)
                        TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(1109,1124)
                          TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(1109,1124)
                            PsiElement(TirTokenType.IDENTIFIER)('java.lang.Class')(1109,1124)
                        TirIdentifierMethodImpl(TirElementType.IDENTIFIER_METHOD)(1125,1132)
                          PsiElement(TirTokenType.IDENTIFIER)('forName')(1125,1132)
                        PsiElement(TirTokenType.LPAREN)('(')(1132,1133)
                        TirInvokeArgumentTypeListImpl(TirElementType.INVOKE_ARGUMENT_TYPE_LIST)(1133,1149)
                          TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(1133,1149)
                            TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(1133,1149)
                              PsiElement(TirTokenType.IDENTIFIER)('java.lang.String')(1133,1149)
                        PsiElement(TirTokenType.RPAREN)(')')(1149,1150)
                        PsiElement(TirTokenType.RANGLE)('>')(1150,1151)
                      PsiElement(TirTokenType.LPAREN)('(')(1151,1152)
                      TirInvokeArgumentListImpl(TirElementType.INVOKE_ARGUMENT_LIST)(1152,1156)
                        TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1152,1156)
                          PsiElement(TirTokenType.IDENTIFIER)('name')(1152,1156)
                      PsiElement(TirTokenType.RPAREN)(')')(1156,1157)
              PsiElement(TirTokenType.SEMICOLON)(';')(1157,1158)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(1167,1178)
              PsiElement(TirTokenType.LINE_NUMBER)('[2@L3]')(1167,1173)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(1174,1177)
                PsiElement(TirTokenType.NOP)('nop')(1174,1177)
              PsiElement(TirTokenType.SEMICOLON)(';')(1177,1178)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(1187,1208)
              PsiElement(TirTokenType.LINE_NUMBER)('[3@L3]')(1187,1193)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(1194,1207)
                PsiElement(TirTokenType.RETURN)('return')(1194,1200)
                TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1201,1207)
                  PsiElement(TirTokenType.IDENTIFIER)('temp$0')(1201,1207)
              PsiElement(TirTokenType.SEMICOLON)(';')(1207,1208)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(1217,1228)
              PsiElement(TirTokenType.LINE_NUMBER)('[4@L3]')(1217,1223)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(1224,1227)
                PsiElement(TirTokenType.NOP)('nop')(1224,1227)
              PsiElement(TirTokenType.SEMICOLON)(';')(1227,1228)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(1237,1252)
              PsiElement(TirTokenType.LINE_NUMBER)('[5@L3]')(1237,1243)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(1244,1251)
                PsiElement(TirTokenType.CATCH)('catch')(1244,1249)
                TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1250,1251)
                  PsiElement(TirTokenType.IDENTIFIER)('e')(1250,1251)
              PsiElement(TirTokenType.SEMICOLON)(';')(1251,1252)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(1261,1312)
              PsiElement(TirTokenType.LINE_NUMBER)('[6@L3]')(1261,1267)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(1268,1311)
                TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1268,1274)
                  PsiElement(TirTokenType.IDENTIFIER)('temp$1')(1268,1274)
                PsiElement(TirTokenType.EQUAL)('=')(1275,1276)
                PsiElement(TirTokenType.NEW)('new')(1277,1280)
                TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(1281,1311)
                  TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(1281,1311)
                    PsiElement(TirTokenType.IDENTIFIER)('java.lang.NoClassDefFoundError')(1281,1311)
              PsiElement(TirTokenType.SEMICOLON)(';')(1311,1312)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(1321,1421)
              PsiElement(TirTokenType.LINE_NUMBER)('[7@L3]')(1321,1327)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(1328,1420)
                TirLvalueImpl(TirElementType.LVALUE)(1328,1334)
                  TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1328,1334)
                    PsiElement(TirTokenType.IDENTIFIER)('temp$2')(1328,1334)
                PsiElement(TirTokenType.EQUAL)('=')(1335,1336)
                TirRvalueImpl(TirElementType.RVALUE)(1337,1420)
                  TirInvokeExprImpl(TirElementType.INVOKE_EXPR)(1337,1420)
                    TirInvokeInstanceExprImpl(TirElementType.INVOKE_INSTANCE_EXPR)(1337,1420)
                      TirInvokeInstanceKeyImpl(TirElementType.INVOKE_INSTANCE_KEY)(1337,1350)
                        PsiElement(TirTokenType.INVOKE_VIRTUAL)('invokevirtual')(1337,1350)
                      TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1351,1352)
                        PsiElement(TirTokenType.IDENTIFIER)('e')(1351,1352)
                      PsiElement(TirTokenType.DOT)('.')(1352,1353)
                      TirInvokeMethodRefImpl(TirElementType.INVOKE_METHOD_REF)(1353,1418)
                        PsiElement(TirTokenType.LANGLE)('<')(1353,1354)
                        TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(1354,1386)
                          PsiElement(TirTokenType.IDENTIFIER)('java.lang.ClassNotFoundException')(1354,1386)
                        PsiElement(TirTokenType.COLON)(':')(1386,1387)
                        TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(1388,1404)
                          TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(1388,1404)
                            PsiElement(TirTokenType.IDENTIFIER)('java.lang.String')(1388,1404)
                        TirIdentifierMethodImpl(TirElementType.IDENTIFIER_METHOD)(1405,1415)
                          PsiElement(TirTokenType.IDENTIFIER)('getMessage')(1405,1415)
                        PsiElement(TirTokenType.LPAREN)('(')(1415,1416)
                        PsiElement(TirTokenType.RPAREN)(')')(1416,1417)
                        PsiElement(TirTokenType.RANGLE)('>')(1417,1418)
                      PsiElement(TirTokenType.LPAREN)('(')(1418,1419)
                      PsiElement(TirTokenType.RPAREN)(')')(1419,1420)
              PsiElement(TirTokenType.SEMICOLON)(';')(1420,1421)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(1430,1530)
              PsiElement(TirTokenType.LINE_NUMBER)('[8@L3]')(1430,1436)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(1437,1529)
                TirInvokeExprImpl(TirElementType.INVOKE_EXPR)(1437,1529)
                  TirInvokeInstanceExprImpl(TirElementType.INVOKE_INSTANCE_EXPR)(1437,1529)
                    TirInvokeInstanceKeyImpl(TirElementType.INVOKE_INSTANCE_KEY)(1437,1450)
                      PsiElement(TirTokenType.INVOKE_SPECIAL)('invokespecial')(1437,1450)
                    TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1451,1457)
                      PsiElement(TirTokenType.IDENTIFIER)('temp$1')(1451,1457)
                    PsiElement(TirTokenType.DOT)('.')(1457,1458)
                    TirInvokeMethodRefImpl(TirElementType.INVOKE_METHOD_REF)(1458,1521)
                      PsiElement(TirTokenType.LANGLE)('<')(1458,1459)
                      TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(1459,1489)
                        PsiElement(TirTokenType.IDENTIFIER)('java.lang.NoClassDefFoundError')(1459,1489)
                      PsiElement(TirTokenType.COLON)(':')(1489,1490)
                      TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(1491,1495)
                        TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(1491,1495)
                          PsiElement(TirTokenType.IDENTIFIER)('void')(1491,1495)
                      TirIdentifierMethodImpl(TirElementType.IDENTIFIER_METHOD)(1496,1502)
                        PsiElement(TirTokenType.LANGLE)('<')(1496,1497)
                        PsiElement(TirTokenType.IDENTIFIER)('init')(1497,1501)
                        PsiElement(TirTokenType.RANGLE)('>')(1501,1502)
                      PsiElement(TirTokenType.LPAREN)('(')(1502,1503)
                      TirInvokeArgumentTypeListImpl(TirElementType.INVOKE_ARGUMENT_TYPE_LIST)(1503,1519)
                        TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(1503,1519)
                          TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(1503,1519)
                            PsiElement(TirTokenType.IDENTIFIER)('java.lang.String')(1503,1519)
                      PsiElement(TirTokenType.RPAREN)(')')(1519,1520)
                      PsiElement(TirTokenType.RANGLE)('>')(1520,1521)
                    PsiElement(TirTokenType.LPAREN)('(')(1521,1522)
                    TirInvokeArgumentListImpl(TirElementType.INVOKE_ARGUMENT_LIST)(1522,1528)
                      TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1522,1528)
                        PsiElement(TirTokenType.IDENTIFIER)('temp$2')(1522,1528)
                    PsiElement(TirTokenType.RPAREN)(')')(1528,1529)
              PsiElement(TirTokenType.SEMICOLON)(';')(1529,1530)
            TirMethodBodyLineImpl(TirElementType.METHOD_BODY_LINE)(1539,1559)
              PsiElement(TirTokenType.LINE_NUMBER)('[9@L3]')(1539,1545)
              TirMethodBodyStmtImpl(TirElementType.METHOD_BODY_STMT)(1546,1558)
                PsiElement(TirTokenType.THROW)('throw')(1546,1551)
                TirIdentifierTypeImpl(TirElementType.IDENTIFIER_TYPE)(1552,1558)
                  TirIdentifierClassImpl(TirElementType.IDENTIFIER_CLASS)(1552,1558)
                    PsiElement(TirTokenType.IDENTIFIER)('temp$1')(1552,1558)
              PsiElement(TirTokenType.SEMICOLON)(';')(1558,1559)
            TirMethodBodyCatchImpl(TirElementType.METHOD_BODY_CATCH)(1569,1624)
              PsiElement(TirTokenType.TRY)('try')(1569,1572)
              PsiElement(TirTokenType.LBRACKET)('[')(1573,1574)
              PsiElement(TirTokenType.INTEGER)('0')(1574,1575)
              PsiElement(TirTokenType.COMMA)(',')(1575,1576)
              PsiElement(TirTokenType.INTEGER)('2')(1577,1578)
              PsiElement(TirTokenType.RPAREN)(')')(1578,1579)
              PsiElement(TirTokenType.COMMA)(',')(1579,1580)
              PsiElement(TirTokenType.CATCH)('catch')(1581,1586)
              TirIdentifierVariableImpl(TirElementType.IDENTIFIER_VARIABLE)(1587,1619)
                PsiElement(TirTokenType.IDENTIFIER)('java.lang.ClassNotFoundException')(1587,1619)
              PsiElement(TirTokenType.CATCH_AT)('at')(1620,1622)
              PsiElement(TirTokenType.INTEGER)('5')(1623,1624)
            PsiElement(TirTokenType.RBRACE)('}')(1629,1630)
      PsiElement(TirTokenType.RBRACE)('}')(1632,1633)