anchor.diff:  %%
   %% @end
   %%--------------------------------------------------------------------
  --spec request_lease(User, Path, Public, Secret) -> new_lease_result()
  -                                                       when User :: binary(),
  +-spec request_lease(KeyId, Path, Public, Secret) -> new_lease_result()
  +                                                       when KeyId :: binary(),
                                                               Path :: binary(),
                                                               Public :: binary(),
                                                               Secret :: binary().
  -request_lease(User, Path, Public, Secret) ->
  -    gen_server:call(?MODULE, {lease_req, new_lease, {User, Path, Public, Secret}}).
  +request_lease(KeyId, Path, Public, Secret) ->
  +    gen_server:call(?MODULE, {lease_req, new_lease, {KeyId, Path, Public, Secret}}).
   
   %%--------------------------------------------------------------------
   %% @doc
  
positive.code:     Result.
  
  
  -spec p_write_row(User, Path, Public, Secret) -> ok
                                                       when User :: binary(),
                                                            Path :: binary(),
                                                            Public :: binary(),
                                                            Secret :: binary().
  p_write_row(User, Path, Public, Secret) ->
      mnesia:write(#lease{path = Path,
                          u_id = User,
                          public = Public,
                          secret = Secret,
                          time = erlang:system_time(milli_seconds)}).
  
negative.code: -define(SERVER, ?MODULE).
  
  -record(lease, { path   :: binary()   % subpath which is locked
                 , key_id   :: binary()   % user identifier
                 , public :: binary()   % public string used for token generation
                 , secret :: binary()   % secret used for token generation
                 , time   :: integer()  % timestamp (time when lease acquired)
  