public < TYPE_1 > TYPE_1 METHOD_1 ( java.lang.Class < TYPE_1 > type , java.lang.Object obj ) throws TYPE_2 { if ( obj . getClass ( ) . equals ( type ) ) { return ( ( TYPE_1 ) ( obj ) ) ; } else if ( TYPE_3 . METHOD_2 ( type ) ) { if ( TYPE_4 . equals ( obj ) ) return null ; return type . METHOD_3 ( obj ) ; } return TYPE_5 . METHOD_1 ( type , obj ) ; }

public < TYPE_1 > TYPE_1 METHOD_1 ( java.lang.Class < TYPE_1 > type , java.lang.Object obj ) throws TYPE_2 { if ( obj . getClass ( ) . equals ( type ) ) { return ( ( TYPE_1 ) ( obj ) ) ; } else if ( TYPE_3 . METHOD_2 ( type ) ) { if ( TYPE_4 . equals ( obj ) ) return null ; return obj ; } return TYPE_5 . METHOD_1 ( type , obj ) ; }
