anchor.diff:  -export([trusted/1, sync_request/2, sync/2]).
   -export([reply/2]).
   -export([obj_newer/2]).
  +-export([handle_down/4]).
   
   -include_lib("riak_ensemble/include/riak_ensemble_types.hrl").
   
   -record(state, {ensemble  :: ensemble_id(),
                   id        :: peer_id(),
                   proxy     :: atom(),
  +                proxy_ref :: reference(),
  +                vnode_ref :: reference(),
                   async     :: pid()}).
   
   -type obj()    :: riak_object:riak_object().
  
positive.code: 
  %% @doc
  %% Implementation of {@link riak_ensemble_backend} behavior that
  %% connects riak_ensemble to riak_kv vnodes. 
  %%
  
  -module(riak_kv_ensemble_backend).
  
negative.code:     Peers0 = [{Idx, PeerId} || {PeerId={{kv,_PL,_N,Idx},_Node},_Reply} <- Replies],
      Peers = orddict:from_list(Peers0),
      {{kv, PL, N, Idx}, _} = Id,
      IndexN = {PL,N},
      %% Sort to remove duplicates when changing ownership / forwarded response
      Siblings0 = lists:usort([I || {{{kv,_PL,_N,I},_Node},_Reply} <- Replies]),
      %% Just in case, remove self from list
  