anchor.diff:  
   on({l_on_cseq, renew_reply,
       {qwrite_deny, _ReqId, Round, Value, {content_check_failed, {Reason, _Current, _Next}}}, 
  -    New, Mode}, State) ->
  +    New, Mode, Renew}, State) ->
       % @todo retry
       log:pal("renew denied: ~p~nVal: ~p~nNew: ~p~n~p~n", [Reason, Value, New, Mode]),
       log:pal("id: ~p~n", [dht_node_state:get(State, node_id)]),
  
positive.code:                                                                 Mode)
              end;
          unexpected_owner   ->
              lease_list:remove_lease_from_dht_node_state(Value, State, Mode);
          unexpected_aux     ->
              case get_aux(Value) of
                  empty                  ->
  
negative.code:    State) ->
      %log:pal("on renew ~w (~w, ~w)~n", [Old, Mode, self()]),
      Self = comm:this(),
      {New, Renew} = 
          case get_aux(Old) of
              % change owner to self -> remove aux
              {change_owner, Self} ->
                  {Old#lease{aux=empty,version=OldVersion+1, timeout=new_timeout()}, renew};
              _ ->
                  case comm:this() of
                      Owner ->
                          {Old#lease{version=OldVersion+1, timeout=new_timeout()}, renew};
                      _ ->
                          % we are trying to recover
                          log:log("trying to recover: owner=~p id=~p, self=~p", 
                                  [Owner, get_id(Old), comm:this()]),
                          {Old#lease{owner = comm:this(), epoch = OldEpoch+1, version=0, 
                                    timeout=new_timeout()}, renew_recover}
                  end
            end,
      ContentCheck = generic_content_check(Old, New, Renew),
  %% @todo New passed for debugging only:
      ReplyTo = comm:reply_as(self(), 3, {l_on_cseq, renew_reply, '_', New, Mode, Renew}),
      update_lease(ReplyTo, ContentCheck, Old, New, State),
      State;
  
  on({l_on_cseq, renew_reply, {qwrite_done, _ReqId, Round, Value}, _New, Mode, _Renew}, State) ->
      %% log:pal("successful renew~n~w~n~w~n", [Value, l_on_cseq:get_id(Value)]),
      lease_list:update_lease_in_dht_node_state(Value,
                                                lease_list:update_next_round(l_on_cseq:get_id(Value),
  