anchor.diff:  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   
   % @doc generic content check. used for almost all qwrite operations
  --spec generic_content_check(lease_t(), lease_t(), atom()) -> 
  +-spec generic_content_check_(lease_t(), lease_t(), atom()) -> 
                                      content_check_t(). %% content check
  -generic_content_check(#lease{id=OldId,owner=OldOwner,aux = OldAux,range=OldRange,
  +generic_content_check_(#lease{id=OldId,owner=_OldOwner,aux = OldAux,range=OldRange,
                                epoch=OldEpoch,version=OldVersion,timeout=OldTimeout} = Old,
                        New, Writer) ->
  -    fun (prbr_bottom, _WriteFilter, Next) ->
  +    fun(prbr_bottom, _WriteFilter, Next) ->
               {false, {lease_does_not_exist, pbr_bottom, Next}};
           (Current, _WriteFilter, Next) when Current =:= New ->
               log:pal("re-write in CC:~n~w~n~w~n~w~n~w~n~w~n", [Current, Next, Old, New, Writer]),
               {true, null};
           (#lease{id = Id0} = Current, _, Next)    when Id0 =/= OldId->
               {false, {unexpected_id, Current, Next}};
  -        (#lease{owner = O0} = Current, _, Next)    when O0 =/= OldOwner->
  -            {false, {unexpected_owner, Current, Next}};
  +        %(#lease{owner = O0} = Current, _, Next)    when O0 =/= OldOwner->
  +        %    {false, {unexpected_owner, Current, Next}};
           (#lease{aux = Aux0} = Current, _, Next)    when Aux0 =/= OldAux->
               {false, {unexpected_aux, Current, Next}};
           (#lease{range = R0} = Current, _, Next)    when R0 =/= OldRange->
  
positive.code:         (_, _, _) ->
              {true, null}
      end.
  
  % @doc only for unittests
  -spec is_valid_update(non_neg_integer(), non_neg_integer()) ->
  
negative.code: 
  -spec is_valid(lease_t()) -> boolean().
  is_valid(L) ->
      case L of
          empty ->
              %% should not happen but it does
              log:log("loncq: you are calling is_valid on an empty lease~n"),
              false;
          _ ->
              os:timestamp() <  L#lease.timeout
      end.
  
  -spec has_timed_out(lease_t()) -> boolean().
  has_timed_out(L) ->
  