METHOD_0 ( ) { final org . IDENT_0 . concurrent . IDENT_1 < java . lang . Integer , java . lang . Integer > m = new org . IDENT_0 . concurrent . METHOD_1 ( ) ; new java . lang . Thread ( new java . lang . METHOD_2 ( ) { @ org . IDENT_0 . concurrent . Override public void run ( ) { m . put ( 1 , 2 ) ; } } ) . start ( ) ; "<AssertPlaceHolder>" ; } METHOD_3 ( IDENT_2 ) { final IDENT_3 result ; org . IDENT_0 . concurrent . IDENT_4 < IDENT_3 > IDENT_5 = map . get ( key ) ; IDENT_6 . METHOD_4 ( ) ; try { if ( IDENT_5 == null ) { map . METHOD_5 ( key , METHOD_6 ( ) ) ; IDENT_5 = map . get ( key ) ; } } finally { IDENT_6 . METHOD_7 ( ) ; } IDENT_7 . put ( java . lang . Thread . METHOD_8 ( ) , IDENT_5 ) ; result = IDENT_5 . get ( ) ; IDENT_7 . remove ( java . lang . Thread . METHOD_8 ( ) ) ; IDENT_6 . METHOD_4 ( ) ; try { map . remove ( key ) ; } finally { IDENT_6 . METHOD_7 ( ) ; } return result ; }
org . junit . Assert . assertEquals ( ( ( java . lang . Object ) ( 2 ) ) , m . METHOD_3 ( 1 ) )