anchor.diff:      Locks = lists:keydelete(Ref, 2, State#state.locks),
       State#state{locks=Locks}.
   
  --spec maybe_clear_exchange(reference(), state()) -> state().
  -maybe_clear_exchange(Ref, State) ->
  +-spec maybe_clear_exchange(reference(), term(), state()) -> state().
  +maybe_clear_exchange(Ref, Status, State) ->
       case lists:keytake(Ref, 2, State#state.exchanges) of
           false ->
               State;
           {value, {Idx,Ref,_Pid}, Exchanges} ->
  -            lager:debug("Untracking exchange: ~p", [Idx]),
  +            lager:debug("Untracking exchange: ~p :: ~p", [Idx, Status]),
               State#state{exchanges=Exchanges}
       end.
   
  
positive.code:                      state()) -> {any(), state()}.
  start_exchange(LocalVN, {RemoteIdx, IndexN}, Ring, State) ->
      Owner = riak_core_ring:index_owner(Ring, RemoteIdx),
      RemoteVN = {RemoteIdx, Owner},
      {LocalIdx, _} = LocalVN,
      case riak_core_ring:index_owner(Ring, LocalIdx) == node() of
          false ->
              %% No longer owner of this partition, ignore exchange
  
negative.code:         _ ->
              {noreply, State}
      end;
  handle_info({'DOWN', Ref, _, Obj, Status}, State) ->
      State2 = maybe_release_lock(Ref, State),
      State3 = maybe_clear_exchange(Ref, Status, State2),
      State4 = maybe_clear_registered_tree(Obj, State3),
      {noreply, State4};
  handle_info(_Info, State) ->
  