anchor.diff:          iv_language = iv_language ).
   
       mv_dynamic_cache_key = ms_item-obj_name.
  -
  -    TRY.
  -        CREATE DATA mr_dynamic_cache TYPE ('CL_DTDC_WB_OBJECT_DATA=>TY_DTDC_OBJECT_DATA').
  +    mv_has_own_wb_data_class = has_own_wb_data_class( ).
  +
  +    TRY.
  +        IF mv_has_own_wb_data_class = abap_true.
  +          CREATE DATA mr_dynamic_cache TYPE ('CL_DTDC_WB_OBJECT_DATA=>TY_DTDC_OBJECT_DATA').
  +        ELSE.
  +          CREATE DATA mr_dynamic_cache TYPE ('CL_BLUE_SOURCE_OBJECT_DATA=>TY_OBJECT_DATA').
  +        ENDIF.
           CREATE OBJECT mi_persistence TYPE ('CL_DTDC_OBJECT_PERSIST').
   
         CATCH cx_sy_create_error.
  
positive.code: 
      ASSIGN COMPONENT iv_fieldname OF STRUCTURE cs_dynamic_cache
             TO <lv_value>.
      ASSERT sy-subrc = 0.
  
      CLEAR: <lv_value>.
  
    ENDMETHOD.
  
  
negative.code:         iv_string = lv_source ).
  
    ENDMETHOD.
  
  
    METHOD has_own_wb_data_class.
  
      DATA:
        lr_own_type TYPE REF TO data,
        lx_error    TYPE REF TO cx_root.
  
      TRY.
          CREATE DATA lr_own_type TYPE ('CL_DTDC_WB_OBJECT_DATA=>TY_DTDC_OBJECT_DATA').
          rv_supported = abap_true.
        CATCH cx_root INTO lx_error.
          rv_supported = abap_false.
      ENDTRY.
  
    ENDMETHOD.
  ENDCLASS.
  