anchor.diff:  
   -spec is_valid(lease_t()) -> boolean().
   is_valid(L) ->
  -    os:timestamp() <  L#lease.timeout.
  +    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) ->
  
positive.code: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
  % @doc generic content check. used for almost all qwrite operations
  -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,
                               epoch=OldEpoch,version=OldVersion,timeout=OldTimeout} = Old,
                       New, Writer) ->
      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{aux = Aux0} = Current, _, Next)    when Aux0 =/= OldAux->
              {false, {unexpected_aux, Current, Next}};
          (#lease{range = R0} = Current, _, Next)    when R0 =/= OldRange->
  
negative.code: -define(TRACE(X,Y), ok).
  -include("scalaris.hrl").
  -include("record_helpers.hrl").
  
  -define(WARN(BOOL, BOOL2, TEXT), 
          if
              BOOL andalso not (BOOL2) ->
                  log:log("loncq: " ++ TEXT);
              true -> ok
          end).
  
  -export([read/1, read/2]).
  %%-export([write/2]).
  