anchor.diff:  -spec init_stabilize(nodelist:neighborhood(), rt()) -> rt().
   init_stabilize(Neighbors, RT) ->
       % calculate the longest finger
  -    Id = nodelist:nodeid(Neighbors),
  -    Key = calculateKey(Id, first_index()),
  -    % trigger a lookup for Key
  -    api_dht_raw:unreliable_lookup(Key, {?send_to_group_member, routing_table,
  -                                        {rt_get_node, comm:this(), first_index()}}),
  +    case first_index(Neighbors) of
  +        null -> ok;
  +        {Key, Index} ->
  +            % trigger a lookup for Key
  +            api_dht_raw:unreliable_lookup(
  +              Key, {?send_to_group_member, routing_table,
  +                    {rt_get_node, comm:this(), Index}})
  +    end,
       RT.
   %% userdevguide-end rt_chord:init_stabilize
   
  
positive.code:     %io:format("~p: ~p + ~p~n", [{I, J}, Id, Offset]),
      normalize(Id + Offset).
  
  -spec first_index() -> index().
  first_index() ->
     {1, config:read(chord_base) - 2}.
  
  -spec next_index(index()) -> index().
  next_index({I, 0}) ->
      {I + 1, config:read(chord_base) - 2};
  
negative.code:                    nodelist:succ_range(Neighbors))) of
          true ->
              NewRT = gb_trees:enter(Index, Node, RT),
              NextIndex = next_index(Index),
              NextKey = calculateKey(MyId, NextIndex),
              CurrentKey = calculateKey(MyId, Index),
              case CurrentKey =/= NextKey of
                  true ->
                      Msg = {rt_get_node, comm:this(), NextIndex},
                      api_dht_raw:unreliable_lookup(
                        NextKey, {?send_to_group_member, routing_table, Msg});
                  _ -> ok
  