anchor.diff:  %% @doc Removes dead nodes from the routing table.
   -spec filter_dead_node(rt(), DeadPid::comm:mypid(), Reason::fd:reason()) -> rt().
   filter_dead_node(RT, DeadPid, _Reason) ->
  -    DeadIndices = [Index || {Index, {Node, _RTLoop}}  <- gb_trees:to_list(RT),
  +    DeadIndices = [Index || {Index, {Node, _PidRT}}  <- gb_trees:to_list(RT),
                               node:same_process(Node, DeadPid)],
       lists:foldl(fun(Index, Tree) -> gb_trees:delete(Index, Tree) end,
                   RT, DeadIndices).
  
positive.code:     MyNode = nodelist:node(rt_loop:get_neighb(State)),
      comm:send(Source_PID, {rt_get_node_response, Index, MyNode, comm:this()}, ?SEND_OPTIONS),
      State;
  handle_custom_message({rt_get_node_response, Index, Node, RTLoop}, State) ->
      OldRT = rt_loop:get_rt(State),
      OldERT = rt_loop:get_ert(State),
      Neighbors = rt_loop:get_neighb(State),
      NewERT = case stabilize(Neighbors, OldRT, Index, Node, RTLoop) of
          {NewRT, true} ->
              check_do_update(OldRT, NewRT, OldERT, rt_loop:get_neighb(State), true);
          {NewRT, false} -> ok, OldERT
  
negative.code:         false ->
              % check routing table:
              RTSize = get_size(RT),
              case util:gb_trees_largest_smaller_than(Id, RT) of
                  {value, _Key, Node} ->
                      Node;
                  nil when RTSize =:= 0 ->
                      Succ = nodelist:succ(Neighbors),
                      node:pidX(Succ);
                  nil -> % forward to largest finger
                      {_Key, Node} = gb_trees:largest(RT),
                      Node
              end
      end.
  %% userdevguide-end rt_chord:next_hop
  
  