anchor.diff:      " Because we want to persist them so we can run it in parallel.
       " Both are deleted afterwards.
       mv_name = |{ sy-uname }_{ sy-datum }_{ sy-uzeit }|.
  -
  -    " We have to disable parallelization in batch because of lock errors.
  -    IF sy-batch = abap_true.
  -      mv_run_mode = co_run_mode-run_via_rfc.
  -    ELSE.
  -      mv_run_mode = co_run_mode-run_loc_parallel.
  -    ENDIF.
  +    mv_run_mode = decide_run_mode( ).
   
     ENDMETHOD.
   
  
positive.code:   PRIVATE SECTION.
  
      DATA mv_success TYPE abap_bool .
      CONSTANTS:
        BEGIN OF co_run_mode,
          run_with_popup   TYPE sychar01 VALUE 'P',
          run_after_popup  TYPE sychar01 VALUE 'A',
          run_via_rfc      TYPE sychar01 VALUE 'R',
          run_in_batch     TYPE sychar01 VALUE 'B',
          run_loc_parallel TYPE sychar01 VALUE 'L',
          run_direct       TYPE sychar01 VALUE 'L',
        END OF co_run_mode .
      DATA mo_inspection TYPE REF TO cl_ci_inspection .
      DATA mv_name TYPE sci_objs .
  
negative.code:         zcx_abapgit_exception .
      METHODS create_inspection
        IMPORTING
          io_set               TYPE REF TO cl_ci_objectset
          io_variant           TYPE REF TO cl_ci_checkvariant
        RETURNING
          VALUE(ro_inspection) TYPE REF TO cl_ci_inspection
        RAISING
          zcx_abapgit_exception .
  
      METHODS decide_run_mode
        RETURNING
          VALUE(rv_run_mode) TYPE t_run_mode.
  ENDCLASS.
  
  
  