anchor.diff:  
   % Requests db sync with DestKey using default recon method (given in config).
   on({request_sync, DestKey}, State) ->
  -    comm:send_local(self(), {request_sync, get_recon_method(), DestKey}),
  +    comm:send_local(self(), {request_sync, get_recon_method(), DestKey, none}),
  +    State;
  +
  +on({request_sync, Method, DestKey}, State) ->
  +    comm:send_local(self(), {request_sync, Method, DestKey, none}),
       State;
   
   % Requests database synchronization with DestPid (DestPid=DhtNodePid or random).
   %   Random leads to sync with a node which is associated with this (e.g. symmetric partner)
  -on({request_sync, Method, DestKey}, State = #rrepair_state{ round = Round, 
  -                                                            open_recon = OpenRecon,
  -                                                            open_sessions = Sessions }) ->
  +% Principal will get an request_sync_complete message.
  +on({request_sync, Method, DestKey, Principal}, State = #rrepair_state{ round = Round, 
  +                                                                       open_recon = OpenRecon,
  +                                                                       open_sessions = Sessions }) ->
       ?TRACE("RR: REQUEST SYNC WITH ~p", [DestKey]),
  -    S = new_session(Round, comm:this(), Method),
  +    S = new_session(Round, comm:this(), Method, Principal),
       {ok, Pid} = rr_recon:start(S#session.id),
       comm:send_local(Pid, {start, Method, DestKey}),
       State#rrepair_state{ round = next_round(Round),
  
positive.code: %%      Could be used to send request caller a finished Msg.
  on({request_sync_complete, Session}, State = #rrepair_state{ open_sessions = Sessions }) ->
      ?TRACE_COMPLETE("--SESSION COMPLETE--~n~p", [Session]),
      NewOpen = lists:delete(Session, Sessions),
      State#rrepair_state{ open_sessions = NewOpen };
  
  
negative.code: 
  -type round()       :: {non_neg_integer(), non_neg_integer()}.
  -type session_id()  :: {round(), comm:mypid()}.
  -type principal_id():: comm:mypid() | none.
  
  % @doc session contains only data of the sync request initiator thus rs_stats:regen_count represents only 
  %      number of regenerated db items on the initator
  -record(session, 
          { id                = ?required(session, id)            :: session_id(), 
            principal         = none                              :: principal_id(),
            rc_method         = ?required(session, rc_method)     :: rr_recon:method(), 
            rc_stats          = none                              :: rr_recon_stats:stats() | none,
            rs_stats          = none                              :: rr_resolve:stats() | none,
  