anchor.diff:      ct:pal("renew denied: ~p ~p ~p~n", [Reason, Value, New]),
       case Reason of
           lease_does_not_exist ->
  -            remove_lease_from_dht_node_state(Value, State);
  +            case Value of %@todo is this necessary?
  +                prbr_bottom ->
  +                    State;
  +                _ ->
  +                    remove_lease_from_dht_node_state(Value, State)
  +            end;
           epoch_or_version_mismatch ->
               lease_renew(Value),
               State;
  
positive.code:             aux     = empty,
              version = 0,
              timeout = new_timeout()},
      ContentCheck = is_valid_split_step3(OldEpoch, OldVersion, OldAux),
      DB = get_db_for_id(Id),
      Self = comm:reply_as(self(), 6, {l_on_cseq, split_reply_step3, L1, R1, R2, '_'}),
      rbrcseq:qwrite(DB, Self, Id,
  
negative.code: % - improve error handling for deny in renewal
  %
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  %
  % qwrite_done messages should always be received by the current owner
  % of the message. The message handler can directly change the lease
  % list in the dht_node. The next message will than be handled under
  % the new lease list.
  %
  % If we would update the lease of another node and the qwrite_done is
  % received by us, the system assumes that the lease was updated but
  % the owner will still work according to the old version of the
  % lease. In some cases such a remote-modify is acceptable and correct.
  % E.g. if we use a remote-modify to extend the lease's range, the
  % remote node can continue to work with his old lease until the next
  % renewal. On renewal, he will notice that it fails because the lease
  % changed and additionally he will get notified of the range
  % extension.
  %
  % The goal is to limited remote-modifies to correct operations,
  % i.e. renewals, aux updates and range extensions.
  %
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  %
  % Lease agreement
  %
  % Rule 16: The lease's id never changes.
  % Rule 17: Every content check has to perform the checks in the same order.
  %          1. Does the lease exist?
  %          2. Is the value of the owner field as expected?
  %          3. Is the value of the aux   field as expected?
  %          4. Is the value of the range field as expected?
  %          5. Are the values of the epoch and version fields as expected?
  %          6. Is the proposed timeout newer than the current one and is it in
  %             the future (for debugging only)?
  
  
  