public java.lang.String METHOD_1 ( java.lang.Class < ? extends TYPE_1 > VAR_1 ) { METHOD_2 ( VAR_1 ) ; if ( VAR_1 . equals ( VAR_2 class ) ) { return TYPE_2 . METHOD_1 ( ) ; } if ( VAR_1 . equals ( VAR_3 class ) ) { return TYPE_3 . METHOD_1 ( ) ; } throw METHOD_3 ( VAR_1 ) ; }

public java.lang.String METHOD_1 ( java.lang.Class < ? extends TYPE_1 > VAR_1 ) { METHOD_2 ( VAR_1 ) ; if ( VAR_1 . equals ( VAR_3 class ) ) { return TYPE_3 . METHOD_1 ( ) ; } if ( VAR_1 . equals ( VAR_2 class ) ) { return TYPE_2 . METHOD_1 ( ) ; } throw METHOD_3 ( VAR_1 ) ; }
