anchor.diff:      end,
       file:close(TreeFile),
       {ok, S1#state{map=dict:new()}}.
  +
  +handle_call({get_all_nodes}, _From, S0=#state{tree=Tree, myid=MyId}) ->
  +    Nodes = dict:fetch_keys(Tree),
  +    {reply, {ok, lists:delete(MyId, Nodes)}, S0};
   
   handle_call({get_mypath}, _From, S0=#state{myid=MyId, paths=Paths}) ->
       {reply, {ok, dict:fetch(MyId, Paths)}, S0};
  
positive.code:          get_bucket_sample/0,
           is_leaf/1,
           get_closest_dcid/1,
           do_replicate/1]).
  
  -record(state, {groups,
  
negative.code:             {reply, {error, unknown_key}, S0}
      end;
  
  handle_call({get_closest_dcid, BKey}, _From, S0=#state{groups=RGroups, myid=MyId, tree=Tree}) ->
      {Bucket, _Key} = BKey,
      case dict:find(Bucket, RGroups) of
          {ok, Value} ->
  