anchor.diff:  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   
   %% userdevguide-begin rt_frtchord:empty
  -%% @doc Creates an "empty" routing table containing the successor.
  +%% @doc Creates an "empty" routing table.
   -spec empty(nodelist:neighborhood()) -> rt().
   empty(Neighbors) ->
  -    RT = add_source_entry(nodelist:node(Neighbors), #rt_t{}),
  -    Preds = nodelist:preds(Neighbors),
  -    Succs = nodelist:succs(Neighbors),
  -
  -    % coyping the preds and succs silences dialyzer
  -    StickyPreds = [N || N <- Preds],
  -    StickySuccs = [N || N <- Succs],
  -
  -    % insert preds and succs as sticky entries to the routing table
  -    % TODO We should always be able to add sticky nodes -> don't check the RT size
  -    TmpRT = lists:foldl(fun add_sticky_entry/2, RT, StickyPreds),
  -    lists:foldl(fun add_sticky_entry/2, TmpRT, StickySuccs)
  +    add_source_entry(nodelist:node(Neighbors), #rt_t{})
       .
   %% userdevguide-end rt_frtchord:empty
   
  
positive.code: -spec init_stabilize(nodelist:neighborhood(), rt()) -> rt().
  init_stabilize(Neighbors, RT) -> 
      case node:id(nodelist:node(Neighbors)) =:= entry_nodeid(get_source_node(RT)) of
          true -> % replace sticky entries
              StickyEntries = sets:from_list(get_sticky_entries(RT)),
              remove_and_ping_entries(StickyEntries, Neighbors, RT)
              ;
          _Else -> % source node changed, replace the complete table
              init(Neighbors)
      end.
  
  
  %% userdevguide-end rt_frtchord:init_stabilize
  
negative.code: -spec adjacent_succ(rt_entry()) -> key().
  adjacent_succ(#rt_entry{adjacent_fingers={_Pred,Succ}}) -> Succ.
  
  %% @doc Set the adjacent fingers of a node
  -spec set_adjacent_fingers(rt_entry(), key(), key()) -> rt_entry().
  set_adjacent_fingers(#rt_entry{} = Entry, PredId, SuccId) ->
      Entry#rt_entry{adjacent_fingers={PredId, SuccId}}.
  
  %% @doc Set the adjacent successor of the finger
  -spec set_adjacent_succ(rt_entry(), key()) -> rt_entry().
  set_adjacent_succ(#rt_entry{adjacent_fingers={PredId, _Succ}} = Entry, SuccId) ->
      set_adjacent_fingers(Entry, PredId, SuccId).
  
  %% @doc Set the adjacent predecessor of the finger
  -spec set_adjacent_pred(rt_entry(), key()) -> rt_entry().
  set_adjacent_pred(#rt_entry{adjacent_fingers={_Pred, SuccId}} = Entry, PredId) ->
      set_adjacent_fingers(Entry, PredId, SuccId).
  
  %% @doc Get the adjacent predecessor rt_entry() of the given node.
  -spec predecessor_node(RT :: rt(), Node :: rt_entry()) -> rt_entry().
  