public void METHOD_1 ( ) { assert ! ( java.lang.Thread . METHOD_2 ( this ) ) ; final TYPE_1 < ? > VAR_1 ; final java.util.ArrayList < TYPE_2 > VAR_2 ; synchronized ( this ) { VAR_1 = this . VAR_1 ; if ( VAR_1 == null ) { return ; } synchronized ( VAR_1 ) { VAR_2 = VAR_1 . METHOD_1 ( ) ; } } VAR_1 . METHOD_3 ( VAR_2 ) ; }

public void METHOD_1 ( ) { assert ! ( java.lang.Thread . METHOD_2 ( this ) ) ; final TYPE_1 < ? > VAR_1 ; synchronized ( this ) { VAR_1 = this . VAR_1 ; } if ( VAR_1 != null ) { VAR_1 . METHOD_1 ( ) ; } }
