anchor.diff:      end,
       State.
   
  +-spec initialize(StateForID::acceptor_state(), ETSTableName::atom(),
  +                 PaxosID::any(), Learners::[comm:mypid()]) -> ok.
  +initialize(StateForID, ETSTableName, PaxosID, Learners) ->
  +    NewState = state_set_learners(StateForID, Learners),
  +    pdb:set(NewState, ETSTableName),
  +    case state_accepted(NewState) of
  +        true  -> inform_learners(PaxosID, NewState);
  +        false -> ok
  +    end.
  +
   -spec inform_learners(PaxosID::any(), acceptor_state()) -> ok.
   inform_learners(PaxosID, State) ->
       ?TRACE("acceptor:inform_learners: PaxosID ~p Learners ~p Decision ~p~n",
  
positive.code: -spec on(comm:message(), atom()) -> atom().
  on({acceptor_initialize, PaxosID, Learners}, ETSTableName = State) ->
      ?TRACE("acceptor:initialize for paxos id: Pid ~p Learners ~p~n", [PaxosID, Learners]),
      StateForID = case pdb:get(PaxosID, ETSTableName) of
                       undefined -> state_new(PaxosID);
                       X -> X
                   end,
      case state_get_learners(StateForID) of
          Learners -> log:log(error, "dupl. acceptor init for id ~p", [PaxosID]);
          _ ->
              NewState = state_set_learners(StateForID, Learners),
              pdb:set(NewState, ETSTableName),
              case state_accepted(NewState) of
                  true  -> inform_learners(PaxosID, NewState);
                  false -> ok
              end
      end,
      State;
  
negative.code: -export([check_config/0]).
  
  -include("acceptor_state.hrl").
  
  -compile({inline, [initialize/4, inform_learner/3]}).
  
  %% Messages to expect from this module
  -spec msg_ack(comm:mypid(), any(), non_neg_integer(), any(), non_neg_integer())
  