anchor.diff:  
       % convert former neighboring nodes to normal nodes and add sticky nodes
       FilteredRT = lists:foldl(fun sticky_entry_to_normal_node/2, RT, ConvertNodesIds),
  -    sets:fold(fun add_sticky_entry/2, FilteredRT, ToBeAddedNodes)
  +    NewRT = sets:fold(fun add_sticky_entry/2, FilteredRT, ToBeAddedNodes),
  +    check_helper(RT, NewRT, true),
  +    NewRT
       .
   
   %% userdevguide-begin rt_frtchord:update
  
positive.code:          nodelist:succ(OldNeighbors) =:= nodelist:succ(NewNeighbors) andalso
           nodelist:pred(OldNeighbors) =:= nodelist:pred(NewNeighbors) of
          true -> ok;
          _Else -> % update the exported routing table
              Pid = pid_groups:get_my(dht_node),
              case Pid of
                  failed -> ok;
                  _E     ->
                      RTExt = export_rt_to_dht_node(NewRT, NewNeighbors),
                      comm:send_local(Pid, {rt_update, RTExt})
              end,
              % update failure detector:
              case ReportToFD of
                  true -> add_fd(NewRT);
                  _Else -> ok
              end
      end
      .
  
  %% @doc Filter the source node's pid from a list of pids.
  -spec filter_source_pid(RT :: rt(), ListOfPids :: [pid()]) -> [pid()].
  
negative.code: %% @doc Converts the internal RT to the external RT used by the dht_node.
  %% The external routing table is optimized to speed up ?RT:next_hop/2. For this, it is
  %%  only a gb_tree with keys being node ids and values being of type node:node_type().
  -spec export_rt_to_dht_node_helper(rt()) -> external_rt().
  export_rt_to_dht_node_helper(RT) ->
      % From each rt_entry, we extract only the field "node" and add it to the tree
      % under the node id. The source node is filtered.
      util:gb_trees_foldl(
  