anchor.diff:      end.
   
   successor(Ring, Key, Length) ->
  +    Node = concha:lookup(Key, Ring),
  +    fetch_n_nodes(Node, Ring, Length).
  +
  +fetch_n_nodes(Node, Ring, Length) ->
       Members = concha:members(Ring),
  -    Node = concha:lookup(Key, Ring),
       StartIndex = index_of(Node, Members),
       DoubleList = lists:append(Members, Members),
       lists:sublist(DoubleList, StartIndex, Length).
  
positive.code: 
  %% API
  -export([start_link/0]).
  -export([client/3]).
  
  %% Supervisor callbacks
  -export([init/1]).
  
negative.code: 
  successor_test() ->
      R = concha:new([1, 2, 3, 4]),
      ?assertEqual(3, length(edht_sup:successor(R, "geoff", 3))).
  
  fetch_n_nodes_test() ->
      R = concha:new([1, 2, 3, 4]),
      ?assertEqual([2, 3, 4], fetch_n_nodes(2, R, 3)).
  -endif.
  