anchor.diff:              gb_trees:enter(PredId, NewPred,
                   gb_trees:enter(SuccId, NewSucc, Tree))
       end,
  -    Ns = gb_trees:values(UpdatedTree),
  -
  -    %% TODO DELETE ASSERT
  -    Adjs = [tuple_to_list(adjacent_fingers(N)) || N <- Ns],
  -    Ids = lists:flatten(Adjs),
  -    false = lists:any(fun (none) -> true; (_) -> false end, [gb_trees:lookup(N,
  -                UpdatedTree) || N <- Ids]),
  +
       RT#rt_t{nodes=UpdatedTree}.
   
   % @doc Create an rt_entry and return the entry together with the Pred und Succ node, where
  
positive.code: -spec init(nodelist:neighborhood()) -> rt().
  init(Neighbors) -> 
      % ask the successor node for its routing table
      % XXX i have to wrap the message as the Pid given as the succ is actually the dht
      % node, but the message should be send to the routing table
      Msg = {send_to_group_member, routing_table, {get_rt, comm:this()}},
      comm:send(node:pidX(nodelist:succ(Neighbors)), Msg),
      empty(Neighbors).
  
  %% @doc Hashes the key to the identifier space.
  
negative.code: %% @doc Creates an "empty" routing table.
  -spec empty(nodelist:neighborhood()) -> rt().
  empty(Neighbors) ->
      EmptyRT = add_source_entry(nodelist:node(Neighbors), #rt_t{}),
      remove_and_ping_entries(Neighbors, EmptyRT)
      .
  %% userdevguide-end rt_frtchord:empty
  
  