anchor.diff: -%% @copyright 2012-2015 Zuse Institute Berlin
  +%% @copyright 2012-2016 Zuse Institute Berlin
   
   %   Licensed under the Apache License, Version 2.0 (the "License");
   %   you may not use this file except in compliance with the License.
  
positive.code:                                 end),
      DHTNodePid = hd(DHTNodes),
  
      % stop odd nodes
      _ = [lease_helper:intercept_lease_renew(Node) || {_Id, Node} <- OddNodes],
      lease_helper:wait_for_number_of_valid_active_leases(4),
  
      RMLeasesPid = pid_groups:pid_of(pid_groups:group_of(DHTNodePid), rm_leases),
  
      % propose takeover
      {_Pred, PredRange, Lease} = get_pred_info(DHTNodePid),
      Result = {qread_done, fake_reqid, fake_round, Lease},
      Msg = {read_after_rm_change, PredRange, Result},
      %comm:send_local(RMLeasesPid, Msg),
  
      % what do we expect to happen? takeover and merge should succeed
      wait_for_messages_after(RMLeasesPid, [merge_after_rm_change],
                              fun () ->
                                      comm:send_local(RMLeasesPid, Msg)
  
negative.code: %
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  test_network_partition(_Config) ->
      %% We create a ring with an even number of nodes. For the odd
      %% nodes, we stop lease renewal and wait for the leases to time
      %% out. After that, we propose to the first (even) node to
      %% takeover the last (odd) node.
  
      DHTNodes = pid_groups:find_all(dht_node),
      IdsAndNodes = lists:sort(
  