anchor.diff:      [start_vbucket_replication(Master, Bucket, Srv) || Srv <- ToStartVBuckets],
   
       State#state{vbuckets=NVBucketsPresent, servers=NServers}.
  -
   
   build_replication_struct(Source, Target) ->
       {ok, Replication} =
  
positive.code: 
      {_, NVBucketsAll} = lists:foldl(Fun, {0, []}, Map),
  
      {ok, VBucketStates} = ns_memcached:list_vbuckets(Bucket),
      PresentVBuckets = lists:sort(proplists:get_keys(VBucketStates)),
  
      NVBucketsPresent = ordsets:intersection(lists:sort(NVBucketsAll),
                                              PresentVBuckets),
  
      NServers = proplists:get_value(servers, Conf) -- [Self],
  
      {ToStartVBuckets0, ToStopVBuckets} = difference(VBuckets, NVBucketsAll),
      {ToStartServers, ToStopServers} = difference(Servers, NServers),
  
negative.code: handle_info(full_vbucket_update, State) ->
      {noreply, full_vbucket_update(State)};
  
  handle_info(start_replication, State) ->
      {noreply, start_replication(State)};
  
  handle_info(_Info, State) ->
      {noreply, State}.
  
  terminate(Reason, State) when Reason =:= normal orelse Reason =:= shutdown ->
      stop_replication(State),
      ok;
  terminate(Reason, State) ->
      stop_replication(State),
      %% Sometimes starting replication fails because of vbucket
      %% databases creation race or (potentially) because of remote node
      %% unavailability. When this process repeatedly fails our
  