anchor.diff:                      )
               end,
               rt_set_nodes(RT, Nodes);
  -        false ->
  +        {value, ExistingEntry} ->
  +            % Always update a sticky entry, as that information was send from ring
  +            % maintenance.
               case Type of
                   sticky -> % update entry
                       StickyEntry = rt_get_node(node:id(Entry), RT),
  
positive.code:     % only add the entry if it doesn't exist yet or if it is a sticky node. If its a
      % stickynode, RM told us about a new neighbour -> if the neighbour was already added
      % as a normal node, convert it to a sticky node now.
      case gb_trees:lookup(node:id(Entry), get_rt_tree(RT)) =:= none of
          true ->
              % change the type to 'sticky' if the node is between the neighbors of the source
              % node
              AdaptedType = case Type of
  
negative.code: % @doc Get the inner node:node_type() of a rt_entry
  -spec rt_entry_node(N :: rt_entry()) -> node:node_type().
  rt_entry_node(#rt_entry{node=N}) -> N.
  
  % @doc Set the inner node:node_type() of a rt_entry
  -spec rt_entry_set_node(Entry :: rt_entry(), Node :: node:node_type()) -> rt_entry().
  rt_entry_set_node(#rt_entry{} = Entry, Node) -> Entry#rt_entry{node=Node}.
  
  % @doc Calculate the distance between two nodes in the routing table
  -spec rt_entry_distance(From :: rt_entry(), To :: rt_entry()) -> non_neg_integer().
  