anchor.diff:  	{ok, NS, NewTiers} ->
   	    NS #state { url = NewTiers }
       end.
  --type tier() :: [string()].
  +
   -spec contact_tracker([tier()], tracker_event() | none, #state{}) ->
   			     {none, #state{}} | {ok, #state{}, [tier()]}.
   contact_tracker([], _Event, #state { torrent_id = Id} = S) ->
  
positive.code: 	    swap_in_tier(Url, T, [H | Acc])
      end.
  
  -spec should_swap_for(string(), string()) -> boolean().
  should_swap_for(Url1, Url2) ->
      {S1, _UserInfo, Host1, _Port, _Path, _Query} = etorrent_http_uri:parse(Url1),
      {_S2, _, Host2, _, _, _} = etorrent_http_uri:parse(Url2),
  
negative.code: fetch_warning_message(BC) ->
      etorrent_bcoding:search_dict_default({string, "warning message"}, BC, none).
  
  shuffle_tiers(Tiers) ->
      [etorrent_utils:shuffle(T) || T <- Tiers].
  
  