anchor.diff:      TN = proplists:get_value(target_n_val, Params, 4),
       Active = riak_core_ring:active_members(Ring),
       Wants = lists:zip(Active, wants(length(Active), Q)),
  -    lager:debug("Claim3 started: Q=~p TN = ~p\n", [Q, TN]),
  +    lager:debug("Claim3 started: S=~p Q=~p TN=~p\n", [S, Q, TN]),
       lager:debug("       wants: ~p\n", [Wants]),
       {Partitions, Owners} = lists:unzip(riak_core_ring:all_owners(Ring)),
   
  
positive.code:          choose_claim_v1/1, choose_claim_v1/2, choose_claim_v1/3,
           choose_claim_v2/1, choose_claim_v2/2, choose_claim_v2/3,
           choose_claim_v3/1, choose_claim_v3/2, choose_claim_v3/3,
           claim_rebalance_n/2,
           meets_target_n/2,
           diagonal_stripe/2]).
  
  
negative.code: 
  %% @private Evaluate a list of plans and return the best.
  evaluate_plans(Plans, Wants, Q, TN) ->
      {_, FOM} =
          lists:foldl(fun(Plan, {Trial, {_RunningOwners, RunningMetrics}=T}) ->
                              OM = {_Owners, Metrics} = score_plan(Plan, Wants, Q, TN),
                              case better_plan(Metrics, RunningMetrics) of
                                  true ->
                                      lager:debug("Claim3: Trial ~p found better plan: ~p\n",
                                                  [Trial, Metrics]),
                                      {Trial + 1, OM};
                                  _ ->
                                      {Trial + 1, T}
                              end
                      end, {1, {undefined, undefined}}, Plans),
      FOM.
  
  %% @private
  %% Return true if plan P1 is better than plan P2, assumes the metrics
  %% are ordered [{violations, Violations}, {balance, Balance}, {diversity, Diversity}]}.
  