anchor.diff:  %% -------------------------------------------------------------------
   
   -module(meta_data_sender).
  --behaviour(gen_fsm).
  +-behaviour(gen_statem).
   
   -include("antidote.hrl").
   
  
positive.code:             end,
      {next_state, send_meta_data, State#state{last_result = Store, should_check_nodes=WillChange}, ?META_DATA_SLEEP}.
  
  handle_info(_Info, _StateName, StateData) ->
      {stop, badmsg, StateData}.
  
  handle_event(_Event, _StateName, StateData) ->
      {stop, badmsg, StateData}.
  
  handle_sync_event(_Event, _From, _StateName, StateData) ->
      {stop, badmsg, StateData}.
  
  code_change(_OldVsn, StateName, State, _Extra) -> {ok, StateName, State}.
  
  terminate(_Reason, _SN, _SD) ->
      ok.
  
  
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
negative.code: 
  -spec start_link(atom(), fun((term(), term())->boolean()), fun((dict:dict())->dict:dict()), dict:dict(), dict:dict()) -> {ok, pid()} | ignore | {error, term()}.
  start_link(Name, UpdateFunction, MergeFunction, InitialLocal, InitialMerged) ->
      gen_statem:start_link({local, list_to_atom(atom_to_list(Name) ++ atom_to_list(?MODULE))},
                 ?MODULE, [Name, UpdateFunction, MergeFunction, InitialLocal, InitialMerged], []).
  
  -spec start(atom()) -> ok.
  start(Name) ->
      gen_statem:call(list_to_atom(atom_to_list(Name) ++ atom_to_list(?MODULE)), start).
  
  -spec put_meta_dict(atom(), partition_id(), dict:dict()) -> ok.
  put_meta_dict(Name, Partition, Dict) ->
  