anchor.diff:      RemoteNodeClock1 = maps:filter(fun(Id, _) -> Id == RemoteNode end, RemoteNodeClock0),
       swc_node:merge(NodeClock, RemoteNodeClock1).
   
  -fill_strip_save_batch(MissingObjects, #state{config=Config, nodeclock=NodeClock0} = State0) ->
  -
  +fill_strip_save_batch(MissingObjects, RemoteNodeClock, #state{config=Config, nodeclock=NodeClock0} = State0) ->
       {NodeClock1, RealMissing} =
       lists:foldl(
         fun({SKey, Obj}, {NodeClockAcc0, AccRealMissing0} = Acc) ->
  +              % fill the object with the sending node clock
  +              FilledObj = swc_kv:fill(Obj, RemoteNodeClock),
                 % get the local object corresponding to the received object and fill the causal history
                 {D1, _} = Local = swc_kv:fill(get_obj_for_key(Config, SKey), NodeClock0),
                 % synchronize / merge the remote and local object
  -              {D2, _} = Synced = swc_kv:sync(Obj, Local),
  +              {D2, _} = Synced = swc_kv:sync(FilledObj, Local),
                 % filter out the object that is not missing after all
                 case (D1 =/= D2) orelse ((map_size(D1) == 0) andalso (map_size(D2) == 0)) of
                     true ->
  
positive.code:             swc_kv:add(DiscardObj, {Id, Counter}, Value)
      end,
      % save the new k/v and remove unnecessary causal information
      {AccDBOps1, AccEvents1} = strip_save_batch([{SKey, NewObj, DiskObj}], AccDBOps0, AccEvents0, State0, write_op),
  
      AccReplicate1 = [{SKey, NewObj}|AccReplicate0],
  
      State1 = State0#state{nodeclock=NodeClock1},
  
      {AccReplicate1, AccDBOps1, AccEvents1, State1}.
  
  process_replicate_op({SKey, Obj}, {AccDBOps0, AccEvents0, #state{config=Config, nodeclock=NodeClock0} = State0}) ->
      NodeClock1 = swc_kv:add(NodeClock0, Obj),
      State1 = State0#state{nodeclock=NodeClock1},
      % get and fill the causal history of the local key
  
negative.code:             UpdateNodeClock_DBop = update_nodeclock_db_op(NodeClock0),
              UpdateWatermark_DBop = update_watermark_db_op(Watermark),
              db_write(Config, lists:reverse([UpdateNodeClock_DBop, UpdateWatermark_DBop | DbOps])),
              incremental_gc(State1#state{watermark=Watermark, nodeclock=NodeClock0})
      end,
      {reply, ok, cache_node_clock(State2)};
  