anchor.diff:          unexpected_aux     ->
               case get_aux(Value) of
                   empty                  ->
  -                    lease_renew(Value, Mode),
  -                    lease_list:update_next_round(l_on_cseq:get_id(Value),
  -                                                 Round, State);
  +                    renew_and_update_round(Value, Round, Mode, State);
                   {invalid, split, _, _} ->
  -                    lease_renew(Value, Mode),
  -                    lease_list:update_next_round(l_on_cseq:get_id(Value),
  -                                                 Round, State);
  +                    renew_and_update_round(Value, Round, Mode, State);
                   {invalid, merge, _, _} ->
  -                    lease_renew(Value, Mode),
  -                    lease_list:update_next_round(l_on_cseq:get_id(Value),
  -                                                 Round, State);
  +                    renew_and_update_round(Value, Round, Mode, State);
                   {invalid, merge, stopped} ->
  -                    lease_list:remove_lease_from_dht_node_state(Value, State,
  -                                                                Mode);
  +                    lease_list:remove_lease_from_dht_node_state(Value, State, Mode);
                   {valid, split, _, _}   ->
  -                    lease_renew(Value, Mode),
  -                    lease_list:update_next_round(l_on_cseq:get_id(Value),
  -                                                 Round, State);
  +                    renew_and_update_round(Value, Round, Mode, State);
                   {valid, merge, _, _}   ->
  -                    lease_renew(Value, Mode),
  -                    lease_list:update_next_round(l_on_cseq:get_id(Value),
  -                                                 Round, State);
  +                    renew_and_update_round(Value, Round, Mode, State);
                   {change_owner, _Pid}  ->
  -                    lease_renew(Value, Mode),
  -                    lease_list:update_next_round(l_on_cseq:get_id(Value),
  -                                                 Round, State)
  +                    renew_and_update_round(Value, Round, Mode, State)
               end;
           unexpected_range   ->
  -            lease_renew(Value, Mode),
  -            lease_list:update_next_round(l_on_cseq:get_id(Value),
  -                                         Round, State);
  +            renew_and_update_round(Value, Round, Mode, State);
           unexpected_timeout ->
  -            lease_renew(Value, Mode),
  -            lease_list:update_next_round(l_on_cseq:get_id(Value),
  -                                         Round, State);
  +            renew_and_update_round(Value, Round, Mode, State);
           unexpected_epoch   ->
  -            lease_renew(Value, Mode),
  -            lease_list:update_next_round(l_on_cseq:get_id(Value),
  -                                         Round, State);
  +            renew_and_update_round(Value, Round, Mode, State);
           unexpected_version ->
  -            lease_renew(Value, Mode),
  -            lease_list:update_next_round(l_on_cseq:get_id(Value),
  -                                         Round, State);
  +            renew_and_update_round(Value, Round, Mode, State);
           timeout_is_not_newer_than_current_lease ->
  -            lease_renew(Value, Mode),
  -            lease_list:update_next_round(l_on_cseq:get_id(Value),
  -                                         Round, State)
  +                    renew_and_update_round(Value, Round, Mode, State)
       end;
   
   on({l_on_cseq, send_lease_to_node, Lease}, State) ->
  
positive.code: 
  -export([on/2]).
  
  -export([lease_renew/2]).
  -export([lease_handover/3]).
  -export([lease_takeover/2]).
  -export([lease_takeover_after/3]).
  
negative.code:     case ActiveLease of
          empty -> ok;
          _ ->
              lease_renew(self(), ActiveLease, active)
      end,
      _ = [lease_renew(self(), L, passive) ||
              L <- PassiveLeaseList, get_aux(L) =/= {invalid, merge, stopped}],
      msg_delay:send_trigger(delta() div 2, {l_on_cseq, renew_leases}),
      State.
  