public TYPE_1 < TYPE_2 > METHOD_1 ( ) { final TYPE_1 < TYPE_2 > result = new TYPE_3 < TYPE_2 > ( ) ; TYPE_2 VAR_1 = this ; do { result . add ( VAR_1 ) ; VAR_1 = VAR_1 . METHOD_2 ( ) ; } while ( ( VAR_1 != null ) && ( VAR_1 != ( this ) ) ) ; return result ; }

public TYPE_1 < TYPE_2 > METHOD_1 ( ) { final TYPE_1 < TYPE_2 > result = new TYPE_3 < TYPE_2 > ( ) ; TYPE_2 VAR_1 = this ; do { result . add ( VAR_1 ) ; VAR_1 = VAR_1 . METHOD_2 ( ) ; } while ( ( ( VAR_1 != null ) && ( VAR_1 != ( this ) ) ) && ( ! ( result . contains ( VAR_1 ) ) ) ) ; return result ; }
