anchor.diff:                           it_files = it_files
                  CHANGING  ct_abap = lt_source ).
   
  -    BREAK-POINT.
  -
  -    _raise 'todo'.
  +
  +    ls_clskey-clsname = is_item-obj_name.
  +
  +* function group SEOK
  +* function group SEOQ
  +* todo, transport and package?
  +
  +    CALL FUNCTION 'SEO_CLASS_CREATE_COMPLETE'
  +      EXPORTING
  +        overwrite       = seox_true
  +      CHANGING
  +        class           = ls_vseoclass
  +      EXCEPTIONS
  +        existing        = 1
  +        is_interface    = 2
  +        db_error        = 3
  +        component_error = 4
  +        no_access       = 5
  +        other           = 6
  +        OTHERS          = 7.
  +    IF sy-subrc <> 0.
  +      _raise 'error from SEO_CLASS_CREATE_COMPLETE'.
  +    ENDIF.
  +
  +
  +    CREATE OBJECT lo_source
  +      EXPORTING
  +        clskey             = ls_clskey
  +      EXCEPTIONS
  +        class_not_existing = 1
  +        OTHERS             = 2.
  +    IF sy-subrc <> 0.
  +      _raise 'error from CL_OO_SOURCE'.
  +    ENDIF.
  +
  +    TRY.
  +        lo_source->access_permission( seok_access_modify ).
  +        lo_source->set_source( lt_source ).
  +        lo_source->save( ).
  +        lo_source->access_permission( seok_access_free ).
  +      CATCH cx_oo_access_permission.
  +        _raise 'permission error'.
  +      CATCH cx_oo_source_save_failure.
  +        _raise 'save failure'.
  +    ENDTRY.
  +
  +    activate( is_item ).
   
     ENDMETHOD.                    "deserialize
   
  
positive.code: 
      DATA: ls_vseoclass TYPE vseoclass,
            lt_source    TYPE seop_source_string,
            lo_xml       TYPE REF TO lcl_xml.
  
  
  * fm SEO_CLASS_CREATE_F_DATA
  * CL_OO_SOURCE ?
      lo_xml = read_xml( is_item  = is_item
                         it_files = it_files ).
      lo_xml->structure_read( CHANGING cg_structure = ls_vseoclass ).
  
negative.code: *
  *----------------------------------------------------------------------*
  CLASS lcl_serialize_clas IMPLEMENTATION.
  
    METHOD remove_signatures.
  
  * signatures messes up in CL_OO_SOURCE when deserializing and serializing within same session
  
      CONSTANTS:
        lc_begin TYPE string VALUE '* <SIGNATURE>---------------------------------------------------------------------------------------+',
        lc_end   TYPE string VALUE '* +--------------------------------------------------------------------------------------</SIGNATURE>'.
  
      DATA: lv_remove TYPE abap_bool,
            lv_source LIKE LINE OF ct_source.
  
  
      lv_remove = abap_false.
      LOOP AT ct_source INTO lv_source.
        IF lv_source = lc_begin.
          lv_remove = abap_true.
        ENDIF.
        IF lv_remove = abap_true.
          DELETE ct_source INDEX sy-tabix.
        ENDIF.
        IF lv_source = lc_end.
          lv_remove = abap_false.
        ENDIF.
      ENDLOOP.
  
    ENDMETHOD.                    "remove_signatures
  
    METHOD exists.
  
      CALL FUNCTION 'SEO_CLASS_EXISTENCE_CHECK'
        EXPORTING
          clskey        = is_clskey
        EXCEPTIONS
          not_specified = 1
          not_existing  = 2
          is_interface  = 3
          no_text       = 4
          inconsistent  = 5
          OTHERS        = 6.
      IF sy-subrc = 2.
        rv_exists = abap_false.
      ELSE.
        rv_exists = abap_true.
      ENDIF.
  
    ENDMETHOD.                    "exists
  
    METHOD serialize.
  
  