anchor.diff:      IF lv_new = abap_false.
         TRY.
             ro_char->if_pak_wb_object~lock_and_refresh( ).
  -        CATCH cx_pak_wb_object_locked.
  +        CATCH cx_pak_invalid_data
  +            cx_pak_not_authorized
  +            cx_pak_invalid_state
  +            cx_pak_wb_object_locked.
             zcx_abapgit_exception=>raise( |Could not aquire lock, CHAR { lv_name }| ).
         ENDTRY.
       ENDIF.
  
positive.code:   METHOD zif_abapgit_object~delete.
  
      DATA: lo_char       TYPE REF TO cl_cls_attribute,
            lv_type_group TYPE cls_attribute-type_group.
  
  
      SELECT SINGLE type_group FROM cls_attribute INTO lv_type_group
  
negative.code: 
      lo_char = instantiate_char( lv_type_group ).
  
      TRY.
          lo_char->if_pak_wb_object~delete( ).
  
          lo_char->if_pak_wb_object~save( ).
  
          lo_char->if_pak_wb_object_internal~unlock( ).
  
        CATCH cx_pak_invalid_state cx_pak_invalid_data cx_pak_not_authorized INTO lx_pak_error.
          lv_text = lx_pak_error->get_text( ).
          zcx_abapgit_exception=>raise( lv_text ).
      ENDTRY.
  
    ENDMETHOD.
  
  