METHOD_0 ( ) { final java . lang . Integer input = 1 ; final java . lang . Integer IDENT_0 = 3 ; final org . apache . commons . lang3 . concurrent . IDENT_1 < java . lang . Integer , java . lang . Integer > IDENT_2 = new org . apache . commons . lang3 . concurrent . METHOD_1 ( IDENT_3 , true ) ; final java . lang . IDENT_4 IDENT_5 = new java . lang . METHOD_2 ( ) ; expect ( IDENT_3 . compute ( input ) ) . METHOD_3 ( IDENT_5 ) . andReturn ( IDENT_0 ) ; replay ( IDENT_3 ) ; try { IDENT_2 . compute ( input ) ; org . junit . Assert . fail ( STRING_0 ) ; } catch ( final java . lang . Throwable expected ) { } "<AssertPlaceHolder>" ; } compute ( IDENT_6 ) { while ( true ) { java . util . concurrent . IDENT_7 < IDENT_8 > future = cache . get ( IDENT_9 ) ; if ( future == null ) { final java . util . concurrent . IDENT_10 < IDENT_8 > IDENT_11 = new java . util . concurrent . IDENT_10 < IDENT_8 > ( ) { @ org . apache . commons . lang3 . concurrent . Override public IDENT_8 call ( ) throws org . apache . commons . lang3 . concurrent . METHOD_2 { return IDENT_3 . compute ( IDENT_9 ) ; } } ; final java . util . concurrent . IDENT_12 < IDENT_8 > IDENT_13 = new java . util . concurrent . METHOD_4 ( IDENT_11 ) ; future = cache . METHOD_5 ( IDENT_9 , IDENT_13 ) ; if ( future == null ) { future = IDENT_13 ; IDENT_13 . run ( ) ; } } try { return future . get ( ) ; } catch ( final java . util . concurrent . IDENT_14 e ) { cache . remove ( IDENT_9 , future ) ; } catch ( final java . util . concurrent . IDENT_15 e ) { if ( IDENT_16 ) { cache . remove ( IDENT_9 , future ) ; } throw METHOD_6 ( e . METHOD_7 ( ) ) ; } } }
org . junit . Assert . assertEquals ( IDENT_0 , IDENT_2 . compute ( input ) )