anchor.diff:  -spec rt_get_nodes(RT :: rt()) -> [rt_entry()].
   rt_get_nodes(RT) -> gb_trees:values(get_rt_tree(RT)).
   
  -% @doc Set the treeof nodes of the routing table.
  +% @doc Set the tree of nodes of the routing table.
   -spec rt_set_nodes(RT :: rt(), Nodes :: rt_t_tree()) -> rt().
   rt_set_nodes(#rt_t{source=undefined}, _) -> erlang:error(source_node_undefined);
   rt_set_nodes(#rt_t{} = RT, Nodes) -> RT#rt_t{nodes=Nodes}.
  
positive.code: 
          false -> OldRT
      end,
      ?RT:check(OldRT, NewRT, rt_loop:get_neighb(State), true),
      rt_loop:set_rt(State, NewRT);
  
  % lookup a random key chosen with a pdf:
  
negative.code: % where rnd is chosen uniformly from [0,1)
  handle_custom_message({trigger_random_lookup}, State) ->
      RT = rt_loop:get_rt(State),
      SourceNode = get_source_node(RT),
      SourceNodeId = entry_nodeid(SourceNode),
      {PredId, SuccId} = adjacent_fingers(SourceNode),
      Key = get_random_key_from_generator(SourceNodeId, PredId, SuccId),
  