METHOD_0 ( ) { java . lang . reflect . IDENT_0 IDENT_1 = io . IDENT_2 . IDENT_3 . IDENT_4 . METHOD_1 ( java . lang . String . class ) ; java . lang . reflect . IDENT_0 IDENT_5 = io . IDENT_2 . IDENT_3 . IDENT_4 . METHOD_1 ( io . IDENT_2 . IDENT_6 . Integer . class ) ; java . lang . reflect . IDENT_0 IDENT_7 = io . IDENT_2 . IDENT_3 . IDENT_4 . METHOD_1 ( java . lang . Object . class ) ; java . lang . reflect . IDENT_0 IDENT_8 = io . IDENT_2 . IDENT_6 . util . IDENT_9 . METHOD_2 ( java . util . Arrays . asList ( IDENT_1 , IDENT_5 ) , IDENT_7 ) ; "<AssertPlaceHolder>" ; } METHOD_2 ( java . util . List , java . util . Set , java . lang . reflect . IDENT_0 ) { if ( ( types == null ) || ( types . isEmpty ( ) ) ) { throw new java . lang . IllegalArgumentException ( STRING_0 ) ; } if ( ( types . size ( ) ) == 1 ) { return types . get ( 0 ) ; } java . lang . annotation . IDENT_10 [ ] IDENT_11 = io . IDENT_2 . IDENT_6 . util . IDENT_9 . METHOD_3 ( types . toArray ( new java . lang . reflect . IDENT_0 [ 0 ] ) ) ; if ( types . stream ( ) . map ( IDENT_0 :: getType ) . METHOD_4 ( ( type ) -> type . equals ( types . get ( 0 ) . getType ( ) ) ) ) { return io . IDENT_2 . IDENT_3 . IDENT_4 . METHOD_5 ( types . get ( 0 ) , IDENT_11 ) ; } java . util . List < java . lang . Class < ? > > classes = types . stream ( ) . map ( IDENT_0 :: getType ) . map ( io . IDENT_2 . IDENT_6 . util . IDENT_9 :: IDENT_12 ) . collect ( java . util . stream . IDENT_13 . toList ( ) ) ; java . lang . String IDENT_14 = types . stream ( ) . map ( ( type ) -> type . getType ( ) . METHOD_6 ( ) ) . METHOD_7 ( ) . collect ( java . util . stream . IDENT_13 . METHOD_8 ( STRING_1 ) ) ; if ( IDENT_15 . contains ( IDENT_14 ) ) { return io . IDENT_2 . IDENT_6 . util . IDENT_9 . METHOD_9 ( IDENT_7 ) ; } IDENT_15 . add ( IDENT_14 ) ; if ( types . stream ( ) . METHOD_4 ( ( type ) -> type instanceof java . lang . reflect . IDENT_16 ) ) { java . util . List < java . lang . reflect . IDENT_0 > IDENT_17 = types . stream ( ) . map ( ( type ) -> ( ( java . lang . reflect . IDENT_16 ) ( type ) ) . METHOD_10 ( ) ) . collect ( java . util . stream . IDENT_13 . toList ( ) ) ; java . lang . reflect . IDENT_0 IDENT_18 = io . IDENT_2 . IDENT_6 . util . IDENT_9 . METHOD_2 ( IDENT_17 , IDENT_15 , IDENT_7 ) ; return io . IDENT_2 . IDENT_3 . IDENT_19 . METHOD_11 ( IDENT_18 , IDENT_11 ) ; } java . lang . Class < ? > IDENT_20 = io . IDENT_2 . IDENT_6 . util . IDENT_9 . METHOD_12 ( classes ) . get ( 0 ) ; if ( ( classes . stream ( ) . METHOD_13 ( io . IDENT_2 . IDENT_6 . util . IDENT_9 . IDENT_21 :: contains ) ) && ( io . IDENT_2 . IDENT_6 . util . IDENT_9 . IDENT_21 . contains ( IDENT_20 ) ) ) { return io . IDENT_2 . IDENT_6 . util . IDENT_9 . METHOD_9 ( IDENT_7 ) ; } java . util . List < java . lang . reflect . IDENT_0 > IDENT_22 = types . stream ( ) . map ( ( type ) -> io . IDENT_2 . IDENT_3 . IDENT_4 . METHOD_14 ( type , IDENT_20 ) ) . collect ( java . util . stream . IDENT_13 . toList ( ) ) ; if ( IDENT_22 . stream ( ) . METHOD_15 ( ( type ) -> METHOD_16 ( type . getType ( ) ) ) ) { throw new io . IDENT_2 . IDENT_6 . metadata . exceptions . METHOD_17 ( STRING_2 ) ; } if ( IDENT_22 . stream ( ) . METHOD_4 ( ( type ) -> ( type . getType ( ) ) instanceof java . lang . Class ) ) { return METHOD_1 ( IDENT_20 , IDENT_11 ) ; } if ( IDENT_22 . stream ( ) . METHOD_4 ( ( type ) -> type instanceof java . lang . reflect . IDENT_23 ) ) { java . lang . reflect . IDENT_0 [ ] parameters = java . util . Arrays . stream ( IDENT_20 . METHOD_18 ( ) ) . map ( ( param ) -> IDENT_22 . stream ( ) . map ( ( type ) -> io . IDENT_2 . IDENT_3 . IDENT_4 . METHOD_19 ( type , param ) ) . collect ( java . util . stream . IDENT_13 . toList ( ) ) ) . map ( ( IDENT_24 ) -> METHOD_2 ( IDENT_24 , IDENT_15 , IDENT_7 ) ) . toArray ( java . lang . reflect . IDENT_0 [ ] :: new ) ; return io . IDENT_2 . IDENT_3 . IDENT_19 . METHOD_20 ( IDENT_20 , IDENT_11 , parameters ) ; } return io . IDENT_2 . IDENT_6 . util . IDENT_9 . METHOD_9 ( IDENT_7 ) ; }
org . junit . Assert . assertEquals ( IDENT_7 , IDENT_8 )