anchor.diff:       {history, {call, ?GCD_MODULE, resume, []}},
        {history, {call, ?GCD_MODULE, set_interval, [infinity]}},
        {idle, {call, ?GCD_MODULE, cancel_batch, []}},
  -     {paused, {call, ?GCD_MODULE, pause, []}},
  +     {{paused, fetching_next_fileset}, {call, ?GCD_MODULE, pause, []}},
        {initiating_file_delete, {call, ?GCD_MODULE, change_state, [initiating_file_delete]}}
       ].
   
  
positive.code: postcondition(_From, initiating_file_delete, #mc_state{current_state=initiating_file_delete} ,{call, _M, manual_batch, _}, R) ->
      {ActualState, _} = riak_cs_gc_d:current_state(),
      ?P(ActualState =:= initiating_file_delete andalso R =:= {error, already_deleting});
  postcondition(initiating_file_delete, paused, _S ,{call, _M, pause, _}, R) ->
      {ActualState, _} = riak_cs_gc_d:current_state(),
      ?P(ActualState =:= paused andalso R =:= ok);
  postcondition(initiating_file_delete, idle, _S ,{call, _M, cancel_batch, _}, R) ->
  
negative.code: %% Handling of arbitrary calls that should return `ok'.
  postcondition(_From, To, _S ,{call, _M, _F, _}, R) ->
      {ActualState, _} = riak_cs_gc_d:current_state(),
      ?P(ActualState =:= actual_state(To) andalso R =:= ok);
  %% Catch all
  postcondition(_From, _To, _S , _C, _R) ->
      true.
  
  actual_state({State, _}) -> State;
  actual_state(S) -> S.
  
  weight(fetching_next_fileset,fetching_next_fileset,{call,riak_cs_gc_d,manual_batch,[[testing]]}) -> 64;
  weight(fetching_next_fileset,fetching_next_fileset,{call,riak_cs_gc_d,resume,[]}) -> 64;
  weight(fetching_next_fileset,fetching_next_fileset,{call,riak_cs_gc_d,set_interval,[infinity]}) -> 64;
  weight(fetching_next_fileset,idle,{call,riak_cs_gc_d,cancel_batch,[]}) -> 64;
  weight(fetching_next_fileset,initiating_file_delete,{call,riak_cs_gc_d,change_state,[initiating_file_delete]}) -> 556;
  weight(fetching_next_fileset,{paused,fetching_next_fileset},{call,riak_cs_gc_d,pause,[]}) -> 191;
  weight(idle,fetching_next_fileset,{call,riak_cs_gc_d,manual_batch,[[testing]]}) -> 798;
  weight(idle,idle,{call,riak_cs_gc_d,cancel_batch,[]}) -> 64;
  weight(idle,idle,{call,riak_cs_gc_d,resume,[]}) -> 64;
  weight(idle,idle,{call,riak_cs_gc_d,set_interval,[infinity]}) -> 64;
  weight(idle,{paused,idle},{call,riak_cs_gc_d,pause,[]}) -> 127;
  weight(initiating_file_delete,idle,{call,riak_cs_gc_d,cancel_batch,[]}) -> 127;
  weight(initiating_file_delete,initiating_file_delete,{call,riak_cs_gc_d,manual_batch,[[testing]]}) -> 46;
  weight(initiating_file_delete,initiating_file_delete,{call,riak_cs_gc_d,resume,[]}) -> 46;
  weight(initiating_file_delete,initiating_file_delete,{call,riak_cs_gc_d,set_interval,[infinity]}) -> 46;
  weight(initiating_file_delete,waiting_file_delete,{call,riak_cs_gc_d,change_state,[waiting_file_delete]}) -> 192;
  weight(initiating_file_delete,{paused,initiating_file_delete},{call,riak_cs_gc_d,pause,[]}) -> 129;
  weight(waiting_file_delete,idle,{call,riak_cs_gc_d,cancel_batch,[]}) -> 176;
  weight(waiting_file_delete,initiating_file_delete,{call,riak_cs_gc_d,change_state,[initiating_file_delete]}) -> 125;
  weight(waiting_file_delete,waiting_file_delete,{call,riak_cs_gc_d,manual_batch,[[testing]]}) -> 124;
  weight(waiting_file_delete,waiting_file_delete,{call,riak_cs_gc_d,resume,[]}) -> 124;
  weight(waiting_file_delete,waiting_file_delete,{call,riak_cs_gc_d,set_interval,[infinity]}) -> 124;
  weight(waiting_file_delete,{paused,waiting_file_delete},{call,riak_cs_gc_d,pause,[]}) -> 285;
  weight({paused,fetching_next_fileset},fetching_next_fileset,{call,riak_cs_gc_d,resume,[]}) -> 149;
  weight({paused,fetching_next_fileset},{paused,fetching_next_fileset},{call,riak_cs_gc_d,manual_batch,[[testing]]}) -> 124;
  weight({paused,fetching_next_fileset},{paused,fetching_next_fileset},{call,riak_cs_gc_d,pause,[]}) -> 124;
  weight({paused,fetching_next_fileset},{paused,fetching_next_fileset},{call,riak_cs_gc_d,set_interval,[infinity]}) -> 124;
  weight({paused,fetching_next_fileset},{paused,idle},{call,riak_cs_gc_d,cancel_batch,[]}) -> 178;
  weight({paused,idle},idle,{call,riak_cs_gc_d,resume,[]}) -> 683;
  weight({paused,idle},{paused,idle},{call,riak_cs_gc_d,cancel_batch,[]}) -> 128;
  weight({paused,idle},{paused,idle},{call,riak_cs_gc_d,manual_batch,[[testing]]}) -> 128;
  weight({paused,idle},{paused,idle},{call,riak_cs_gc_d,pause,[]}) -> 128;
  weight({paused,idle},{paused,idle},{call,riak_cs_gc_d,set_interval,[infinity]}) -> 128;
  weight({paused,initiating_file_delete},initiating_file_delete,{call,riak_cs_gc_d,resume,[]}) -> 128;
  weight({paused,initiating_file_delete},{paused,idle},{call,riak_cs_gc_d,cancel_batch,[]}) -> 193;
  weight({paused,initiating_file_delete},{paused,initiating_file_delete},{call,riak_cs_gc_d,manual_batch,[[testing]]}) -> 128;
  weight({paused,initiating_file_delete},{paused,initiating_file_delete},{call,riak_cs_gc_d,pause,[]}) -> 128;
  weight({paused,initiating_file_delete},{paused,initiating_file_delete},{call,riak_cs_gc_d,set_interval,[infinity]}) -> 128;
  weight({paused,waiting_file_delete},waiting_file_delete,{call,riak_cs_gc_d,resume,[]}) -> 1;
  weight({paused,waiting_file_delete},{paused,idle},{call,riak_cs_gc_d,cancel_batch,[]}) -> 1;
  weight({paused,waiting_file_delete},{paused,waiting_file_delete},{call,riak_cs_gc_d,manual_batch,[[testing]]}) -> 1;
  weight({paused,waiting_file_delete},{paused,waiting_file_delete},{call,riak_cs_gc_d,pause,[]}) -> 1;
  weight({paused,waiting_file_delete},{paused,waiting_file_delete},{call,riak_cs_gc_d,set_interval,[infinity]}) -> 1.
  
  %%====================================================================
  %% Helpers
  %%====================================================================
  