anchor.diff:      case Result of
           {takeover, success, Value} ->
               %% merge the new lease with the active lease
  -            log:log("recover: the takeover of ~p was a success", [Value]),
  +            log:log("recover(~p): the takeover of ~p was a success", [self(), Value]),
               LeaseList = dht_node_state:get(State, lease_list),
               ActiveLease = lease_list:get_active_lease(LeaseList),
               case intervals:is_adjacent(l_on_cseq:get_range(Value),
  
positive.code: 
  -spec lease_takeover(lease_t(), comm:erl_local_pid()) -> ok.
  lease_takeover(Lease, ReplyTo) ->
      % @todo precondition: Lease has timeouted
      comm:send_local(pid_groups:get_my(dht_node),
                      {l_on_cseq, takeover, Lease, ReplyTo}),
      ok.
  
  -spec lease_takeover_after(non_neg_integer(), lease_t(), comm:erl_local_pid()) -> ok.
  lease_takeover_after(Delay, Lease, ReplyTo) ->
      % @todo precondition: Lease has timeouted
      msg_delay:send_local(Delay, pid_groups:get_my(dht_node),
                           {l_on_cseq, takeover, Lease, ReplyTo}),
      ok.
  
negative.code:         unexpected_version ->
              renew_and_update_round(Value, Round, Mode, State);
          timeout_is_not_newer_than_current_lease ->
              renew_and_update_round(Value, Round, Mode, State)
      end;
  
  on({l_on_cseq, send_lease_to_node, Lease, Mode}, State) ->
  