anchor.diff:  %% @doc Converts the (external) representation of the routing table to a list
   %%      in the order of the fingers, i.e. first=succ, second=shortest finger,
   %%      third=next longer finger,...
  +-spec to_list(dht_node_state:state()) -> nodelist:snodelist().
   to_list(#rt_t{} = RT) ->
       SourceNode = get_source_node(RT),
       % sort
  
positive.code: %%      - TODO explain messages
  
  % send the RT to a node asking for it
  handle_custom_message({get_rt, Pid}, State) ->
      comm:send(Pid, {get_rt_reply, rt_loop:get_rt(State)}),
      State
  
negative.code: 
  %% userdevguide-begin rt_frtchord:get_random_node_id
  %% @doc Generates a random node id, i.e. a random 128-bit number.
  -spec get_random_node_id() -> key().
  get_random_node_id() ->
      case config:read(key_creator) of
          random -> hash_key_(randoms:getRandomString());
  