public void METHOD_1 ( ) { TYPE_1 < java.lang.Object , java.lang.String > VAR_1 = new TYPE_1 < java.lang.Object , java.lang.String > ( ) { public java.lang.String METHOD_2 ( java.lang.Object arg ) { return arg . toString ( ) ; } } ; TYPE_1 < java.lang.String , java.lang.Integer > VAR_2 = new TYPE_1 < java.lang.String , java.lang.Integer > ( ) { public java.lang.Integer METHOD_2 ( java.lang.String arg ) { return arg . length ( ) ; } } ; TYPE_2 . assertEquals ( VAR_2 . METHOD_3 ( VAR_1 ) . METHOD_2 ( STRING_1 ) , STRING_2 ) ; }

public void METHOD_1 ( ) { TYPE_1 < java.lang.Object , java.lang.String > VAR_1 = new TYPE_1 < java.lang.Object , java.lang.String > ( ) { public java.lang.String METHOD_2 ( java.lang.Object arg ) { return arg . toString ( ) ; } } ; TYPE_1 < java.lang.String , java.lang.Integer > VAR_2 = new TYPE_1 < java.lang.String , java.lang.Integer > ( ) { public java.lang.Integer METHOD_2 ( java.lang.String arg ) { return arg . length ( ) ; } } ; TYPE_2 . assertEquals ( STRING_2 , VAR_2 . METHOD_3 ( VAR_1 ) . METHOD_2 ( STRING_1 ) ) ; }
