anchor.diff:  
   on_init({get_rtm_reply, InKey, InPid, InAcceptor}, State) ->
       ?TRACE_RTM_MGMT("tx_tm_rtm:on_init:get_rtm_reply in Pid ~p for Pid ~p State ~p~n", [self(), InPid, _State]),
  -    tx_tm = state_get_role(State),
  +    %% only in tx_tm not in rtm processes!
  +    ?ASSERT(tx_tm =:= state_get_role(State)),
       RTMs = state_get_RTMs(State),
       NewRTMs = rtms_upd_entry(RTMs, InKey, InPid, InAcceptor),
       case lists:keymember(unknown, 2, NewRTMs) of %% filled all entries?
  
positive.code: 
  %% do not accept new commit requests when not enough rtms are valid
  on_init({tx_tm_rtm_commit, _Client, _ClientsID, _TransLog} = Msg, State) ->
      %% only in tx_tm
      tx_tm = state_get_role(State),
      %% forward request to a node which is ready to serve requests
      DHTNode = pid_groups:get_my(dht_node),
      %% there, redirect message to tx_tm
  
negative.code: %% periodic RTM update
  on({update_RTMs}, State) ->
      ?TRACE_RTM_MGMT("tx_tm_rtm:on:update_RTMs in Pid ~p ~n", [self()]),
      %% only in tx_tm not in rtm processes!
      ?ASSERT(tx_tm =:= state_get_role(State)),
      RTMs = state_get_RTMs(State),
      rtm_update(RTMs, config:read(tx_rtm_update_interval) div 1000,
                 {update_RTMs}),
  