anchor.diff:      lo_xml->table_add( lt_textelements ).
   
       IF ls_progdir-subc = '1'.
  -      serialize_includes( EXPORTING iv_program_name = lv_program_name
  -                                    io_xml = lo_xml
  -                          CHANGING ct_files = rt_files ).
  -
         serialize_dynpros( EXPORTING iv_program_name = lv_program_name
                                      io_xml = lo_xml ).
       ENDIF.
  
positive.code:     METHODS xml_element    IMPORTING iv_name TYPE string
                             RETURNING value(ri_element) TYPE REF TO if_ixml_element.
  
      METHODS xml_add        IMPORTING ii_element TYPE REF TO if_ixml_element.
  
      METHODS xml_find       IMPORTING ii_root TYPE REF TO if_ixml_element OPTIONAL
                                       iv_name TYPE string
  
negative.code: 
        CASE lv_type.
          WHEN 'PROG'.
            lt_files = lcl_serialize_prog=>serialize( lv_pre ).
  
          WHEN OTHERS.
            _raise 'status, unknown type'.
        ENDCASE.
  
        LOOP AT lt_files ASSIGNING <ls_gen>.
          ls_result-filename = <ls_gen>-filename.
          ls_result-match = compare_files( it_repo = it_files is_gen = <ls_gen> ).
          APPEND ls_result TO rt_results.
        ENDLOOP.
      ENDLOOP.
  
      SORT rt_results BY obj_type obj_name filename.
      DELETE ADJACENT DUPLICATES FROM rt_results
        COMPARING obj_type obj_name filename.
  
  * todo, how to handle deleted in repo?
  
  