anchor.diff:    ENDMETHOD.
   
   ENDCLASS.                    "lcl_object_CLAS IMPLEMENTATION
  +
  +*----------------------------------------------------------------------*
  +*       CLASS lcl_object_intf DEFINITION
  +*----------------------------------------------------------------------*
  +*
  +*----------------------------------------------------------------------*
  +CLASS lcl_object_intf DEFINITION INHERITING FROM lcl_object_clas FINAL.
  +* todo, CLAS + INTF to be refactored, see:
  +* https://github.com/larshp/abapGit/issues/21
  +  PUBLIC SECTION.
  +    METHODS:
  +      lif_object~deserialize REDEFINITION.
  +  PROTECTED SECTION.
  +    METHODS:
  +      deserialize_abap REDEFINITION.
  +ENDCLASS.                    "lcl_object_intf DEFINITION
  +CLASS lcl_object_intf IMPLEMENTATION.
  +  METHOD lif_object~deserialize.
  +    mo_object_oriented_object = lcl_object_oriented_factory=>make( iv_object_type = ms_item-obj_type ).
  +
  +    deserialize_abap( io_xml     = io_xml
  +                      iv_package = iv_package ).
  +
  +    deserialize_docu( io_xml ).
  +  ENDMETHOD.
  +  METHOD deserialize_abap.
  +    DATA: ls_vseointerf   TYPE vseointerf,
  +          lt_source       TYPE seop_source_string,
  +          lt_descriptions TYPE ty_seocompotx_tt,
  +          ls_clskey       TYPE seoclskey.
  +    ls_clskey-clsname = ms_item-obj_name.
  +
  +    lt_source = mo_files->read_abap( ).
  +
  +    io_xml->read( EXPORTING iv_name = 'VSEOINTERF'
  +                  CHANGING cg_data = ls_vseointerf ).
  +
  +    mo_object_oriented_object->create(
  +     EXPORTING
  +       iv_package    = iv_package
  +     CHANGING
  +       is_properties = ls_vseointerf
  +   ).
  +
  +    mo_object_oriented_object->deserialize_source(
  +      is_key               = ls_clskey
  +      it_source            = lt_source
  +    ).
  +
  +    io_xml->read( EXPORTING iv_name = 'DESCRIPTIONS'
  +                  CHANGING cg_data = lt_descriptions ).
  +
  +    mo_object_oriented_object->update_descriptions(
  +      is_key          = ls_clskey
  +      it_descriptions = lt_descriptions
  +    ).
  +
  +    mo_object_oriented_object->add_to_activation_list( is_item = ms_item  ).
  +  ENDMETHOD.
  +ENDCLASS.
  +
   
   CLASS ltd_spy_oo_object DEFINITION FOR TESTING.
     PUBLIC SECTION.
  
positive.code:     deserialize_abap( io_xml     = io_xml
                        iv_package = iv_package ).
  
      IF ms_item-obj_type = 'CLAS'.
        deserialize_textpool( io_xml ).
  
        deserialize_sotr( io_xml     = io_xml
                          iv_package = iv_package ).
      ENDIF.
  
      deserialize_docu( io_xml ).
    ENDMETHOD.                    "deserialize
  
negative.code:   METHOD deserialize_abap.
  
      DATA: ls_vseoclass    TYPE vseoclass,
            lt_source       TYPE seop_source_string,
            lt_locals_def   TYPE seop_source_string,
            lt_locals_imp   TYPE seop_source_string,
  