anchor.diff:  -export([init/1,
            idle/2,
            idle/3,
  -         eligible_manifest_key_sets/3,
            fetching_next_batch/2,
            fetching_next_batch/3,
            feeding_workers/2,
  
positive.code: eligible_manifest_keys({{ok, ?INDEX_RESULTS{keys=Keys}},
                          _EndTime},
                         true) ->
      [Keys];
  eligible_manifest_keys({{ok, ?INDEX_RESULTS{keys=Keys}},
                          _EndTime},
                         false) ->
      eligible_manifest_key_sets(riak_cs_config:gc_batch_size(), Keys, []);
  eligible_manifest_keys({{error, Reason}, EndTime}, _) ->
      _ = lager:warning("Error occurred trying to query from time 0 to ~p"
                        "in gc key index. Reason: ~p",
  
negative.code: change_state(State) ->
      gen_fsm:sync_send_all_state_event(?SERVER, {change_state, State}).
  
  split_eligible_manifest_keys_test() ->
      ?assertEqual([], eligible_manifest_key_sets(3, [], [])),
      ?assertEqual([[1]], eligible_manifest_key_sets(3, [1], [])),
      ?assertEqual([[1,2,3]], eligible_manifest_key_sets(3, lists:seq(1,3), [])),
  