public TYPE_1 get ( TYPE_2 key , final TYPE_3 < ? extends TYPE_1 > VAR_1 ) throws TYPE_4 { TYPE_1 value = VAR_2 . get ( key ) ; if ( value != null ) { return value ; } try { value = VAR_1 . METHOD_1 ( ) ; VAR_2 . put ( key , value ) ; return value ; } catch ( java.lang.Exception VAR_3 ) { throw new TYPE_5 ( VAR_3 , STRING_1 , key ) ; } }

public TYPE_1 get ( TYPE_2 key , final TYPE_3 < ? extends TYPE_1 > VAR_1 ) throws TYPE_4 { synchronized ( key ) { TYPE_1 value = VAR_2 . get ( key ) ; if ( value != null ) { return value ; } try { value = VAR_1 . METHOD_1 ( ) ; VAR_2 . put ( key , value ) ; return value ; } catch ( java.lang.Exception VAR_3 ) { throw new TYPE_5 ( VAR_3 , STRING_1 , key ) ; } } }
