anchor.diff:      DiskUsage = avg_disk_usage(NodeStats),
       OverusedNodes = find_unstable_nodes(overused, NodeStats, DiskUsage),
       UnderusedNodes = find_unstable_nodes(underused, NodeStats, DiskUsage),
  +    Utilization = [{N, Used / (Used + Free)} || {N, {Free, Used}} <- NodeStats,
  +        lists:member(N, OverusedNodes)],
  +    SortedUtilization = [N || {N, _} <- lists:reverse(lists:keysort(2, Utilization))],
  +    MostOverused = case SortedUtilization of
  +                       [] -> undefined;
  +                       [N | _] -> N
  +                   end,
       lager:info("GC: average disk utilization: ~p, "
                  "over utilized nodes: ~p, "
                  "under utilized nodes: ~p",
  
positive.code:           nodestats         = []              :: [node_info()],
            overused_nodes    = []              :: [node()],
            underused_nodes   = []              :: [node()],
  
            % static state
            tags              = []      :: [object_name()],
  
negative.code:                     NewRecovered = [{Node, Vol} | Recovered],
                      ets:update_element(gc_blobs, BlobName, {3, NewRecovered}),
                      {ok, false};
                  {false, false, false} ->
                      {RepNodes, _RepVols} = lists:unzip(Recovered),
                      Usable = find_usable(BlackList, lists:usort(RepNodes ++ PresentNodes)),
                      case length(Usable) > MaxReps of
  