anchor.diff:      %  other peers. Eventually the tracker will re-add him to the peer list
   
       % XXX: We might have to do something else
  -    rechoke(S),
  +    rechoke(S#state.opt_unchoke_chain),
   
       NewChain = lists:delete(Pid, S#state.opt_unchoke_chain),
       {noreply, S#state { opt_unchoke_chain = NewChain }};
  
positive.code: %% Function: rechoke(State) -> ok
  %% Description: Recalculate the choke/unchoke state of peers
  %%--------------------------------------------------------------------
  rechoke(S) ->
      Peers = build_rechoke_info(S#state.opt_unchoke_chain),
      {PreferredDown, PreferredSeed} = split_preferred(Peers),
      PreferredSet = prune_preferred_peers(PreferredDown, PreferredSeed),
      ToChoke = rechoke_unchoke(Peers, PreferredSet),
  
negative.code:     R = case S#state.round of
          0 ->
              {ok, NS} = advance_optimistic_unchoke(S),
              rechoke(NS#state.opt_unchoke_chain),
              {noreply, NS#state { round = 2}};
          N when is_integer(N) ->
              rechoke(S#state.opt_unchoke_chain),
              {noreply, S#state{round = S#state.round - 1}}
      end,
      erlang:send_after(?ROUND_TIME, self(), round_tick),
  