anchor.diff:  check(OldRT, NewRT, OldNeighbors, NewNeighbors, ReportToFD) ->
       % if the routing tables haven't changed and the successor/predecessor haven't changed
       % as well, do nothing
  -    case OldRT =:= NewRT andalso 
  +    case OldRT =:= NewRT andalso
            nodelist:succ(OldNeighbors) =:= nodelist:succ(NewNeighbors) andalso
            nodelist:pred(OldNeighbors) =:= nodelist:pred(NewNeighbors) of
           true -> ok;
  
positive.code: 
      % request approximated ring size
      comm:send_local(pid_groups:get_my(gossip), {get_values_best, self()}),
  
      update_entries(Neighbors, add_source_entry(nodelist:node(Neighbors), #rt_t{})).
  
  
negative.code: %%  that something changed (async and optimistic -> if they don't care, we don't care)
  %% - if pred/succ changed, update sticky entries
  -spec init_stabilize(nodelist:neighborhood(), rt()) -> rt().
  init_stabilize(Neighbors, RT) ->
      case node:id(nodelist:node(Neighbors)) =:= entry_nodeid(get_source_node(RT)) of
          true -> update_entries(Neighbors, RT) ;
          false -> % source node changed, replace the complete table
  