anchor.diff:  	 get_txn_property/2]).
   %% ===========================================================
   
  -%% -type op_param() :: term(). %% TODO: Define
  -%% -type bound_object() :: {key(), type(), bucket()}.
  -
   %% Public API
   
   -spec start() -> {ok, _} | {error, term()}.
  
positive.code:             end
      end.
  
  
  get_objects(Objects,Properties) ->
      get_objects_internal(Objects,[],Properties).
  
  get_objects_internal([],_Properties,Acc) ->
      {ok,lists:reverse(Acc)};
  get_objects_internal([{Key,Type,_Bucket}|Rest],Properties, Acc) ->
      case materializer:check_operations([{read, {Key, Type}}]) of
  	ok ->
  	    case clocksi_interactive_tx_coord_fsm:perform_singleitem_get(Key,Type,Properties) of
  		{ok, Val, CommitTime} ->
  		    get_objects_internal(Rest,Properties,[{Val,CommitTime}|Acc]);
  		{error, Reason} ->
  
negative.code: 
  get_log_operations_internal([],Acc) ->
      {ok,lists:reverse(Acc)};
  get_log_operations_internal([{{Key,Type,Bucket},Clock}|Rest],Acc) ->
      LogId = log_utilities:get_logid_from_key({Key,Bucket}),
      [Node] = log_utilities:get_preflist_from_key({Key,Bucket}),
      case logging_vnode:get_from_time(Node,LogId,Clock,Type,{Key,Bucket}) of
  	#snapshot_get_response{ops_list = Ops} ->
  	    get_log_operations_internal(Rest,[Ops|Acc]);
  	{error, Reason} ->
  