anchor.diff:      NewOS = case extract_session(rr_recon_stats:get(session_id, Stats), OS) of
                       {S, TSessions} ->
                           SUpd = update_session_recon(S, Stats),
  -                        check_session_complete(SUpd),
  -                        [SUpd | TSessions];
  +                        case check_session_complete(SUpd) of
  +                            true -> TSessions;
  +                            _    -> [SUpd | TSessions]
  +                        end;
                       not_found ->
                           %caused by error or forked rc instances by bloom filter rc
                           %log:log(error, "[ ~p ] SESSION NOT FOUND BY INITIATOR ~p", [?MODULE, rr_recon_stats:get(session_id, Stats)]),
  
positive.code:     Merge = rr_resolve:merge_stats(Old, New),
      S#session{ rs_stats = Merge, rs_finish = RSCount + 1 }.
  
  -spec check_session_complete(session()) -> ok.
  check_session_complete(#session{ rc_stats = RCStats,
                                   rs_called = C, rs_finish = C } = S) 
    when RCStats =/= none->
      case rr_recon_stats:get(status, RCStats) of
          X when X =:= finish orelse X =:= abort ->
              comm:send_local(self(), {request_sync_complete, S});
          wait -> ok
      end;
  check_session_complete(_Session) ->
      ok.
  
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  % Startup
  
negative.code: 	{continue_recon, SenderRRPid::comm:mypid(), session_id() | null, ReqMsg::rr_recon:request()} |
      {request_resolve, session_id() | null, rr_resolve:operation(), rr_resolve:options()} |
      {recon_forked} |
      % misc
      {web_debug_info, Requestor::comm:erl_local_pid()} |
      % rr statistics
  