anchor.diff:                  -> SpacingA =< SpacingB
               end, Spacings)
       ),
  -    entry_delete(entry_nodeid(FilterEntry), RT)
  +    NewRT = entry_delete(entry_nodeid(FilterEntry), RT),
  +
  +    %% XXX Assertion
  +    OldSourceNode = get_source_node(RT),
  +    OldSourceNode = get_source_node(NewRT),
  +
  +    NewRT
       .
   
   % @doc Delete an entry from the routing table
   -spec entry_delete(EntryKey :: key(), RT :: rt()) -> RefinedRT :: rt().
   entry_delete(EntryKey, RT) ->
       Tree = gb_trees:delete(EntryKey, get_rt_tree(RT)),
  +    Node = rt_get_node(EntryKey, RT),
   
       % update affected routing table entries (adjacent fingers)
  -    {PredId, SuccId} = adjacent_fingers(rt_get_node(EntryKey, RT)),
  +    {PredId, SuccId} = adjacent_fingers(Node),
       Pred = rt_get_node(PredId, RT),
       Succ = rt_get_node(SuccId, RT),
   
  
positive.code: 
  handle_custom_message({rt_get_node_response, NewNode}, State) ->
      OldRT = rt_loop:get_rt(State),
      NewRT = add_normal_entry(NewNode, OldRT),
      check(OldRT, NewRT, rt_loop:get_neighb(State), true),
      rt_loop:set_rt(State, NewRT)
      ;
  
  
  handle_custom_message(_Message, _State) -> unknown_event.
  %% userdevguide-end rt_frtchord:handle_custom_message
  
negative.code:                 gb_trees:enter(SuccId, NewSucc, Tree))
      end,
  
      RT#rt_t{nodes=UpdatedTree}
      .
  
  % @doc Create an rt_entry and return the entry together with the Pred und Succ node, where
  % the adjacent fingers are changed for each node.
  