anchor.diff:  -record(rr_recon_state,
           {
            ownerPid           = ?required(rr_recon_state, ownerPid)       :: comm:erl_local_pid(),
  -         ownerMonitor       = null                                      :: null | reference(),
            dhtNodePid         = ?required(rr_recon_state, dhtNodePid)     :: comm:erl_local_pid(),
            dest_key           = random                                    :: recon_dest(),
            dest_rr_pid        = undefined                                 :: comm:mypid() | undefined, %dest rrepair pid
  
positive.code: %% @doc init module
  -spec init(state()) -> state().
  init(State) ->
      Mon = erlang:monitor(process, State#rr_recon_state.ownerPid),
      State#rr_recon_state{ ownerMonitor = Mon }.
  
  -spec start(rrepair:session_id() | null) -> {ok, pid()}.
  start(SessionId) -> start(SessionId, undefined).
  
negative.code:     State;
  
  on({shutdown, Reason}, #rr_recon_state{ ownerPid = OwnerL,
                                          stats = Stats,
                                          initiator = Initiator }) ->
      ?TRACE("SHUTDOWN Session=~p Reason=~p", [rr_recon_stats:get(session_id, Stats), Reason]),
      Status = exit_reason_to_rc_status(Reason),
      NewStats = rr_recon_stats:set([{status, Status}], Stats),
      comm:send_local(OwnerL, {recon_progress_report, self(), Initiator, NewStats}),
      kill;
  
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  