anchor.diff:      end.
   
   -spec clocksi_icommit(txid()) -> {aborted, txid()} | {ok, {txid(), snapshot_time()}}.
  -clocksi_icommit({_, _, CoordFsmPid})->
  -    gen_fsm:sync_send_event(CoordFsmPid, commit, ?OP_TIMEOUT).
  +clocksi_icommit(TxId)->
  +    gen_fsm:sync_send_event(TxId#tx_id.server_pid, commit, ?OP_TIMEOUT).
   
   %%% Snapshot read for Gentlerain protocol
   gr_snapshot_read(ClientClock, Args) ->
  
positive.code:     case lists:member({error, type_check}, NewObjects) of
          true -> {error, type_check};
          false ->
              case gen_fsm:sync_send_event(CoordFsmPid, {read_objects, NewObjects}, ?OP_TIMEOUT) of
                       {ok, Res} ->
                           {ok, Res};
                       {error, Reason} -> {error, Reason}
  
negative.code: -spec read_objects(Objects::[bound_object()], TxId::txid())
                    -> {ok, [term()]} | {error, reason()}.
  read_objects(BoundObjects, TxId) ->
      NewObjects = lists:map(fun({Key, Type, Bucket}) ->
                                  case materializer:check_operations([{read, {{Key, Bucket}, Type}}]) of
                                      ok ->
  