anchor.diff:                                      },
       op_insert_gc(Key,DownstreamOp1, OpsCache, SnapshotCache),
       io:format("after making the first write: Opscache= ~p~n SnapCache=~p", [orddict:to_list(OpsCache), orddict:to_list(SnapshotCache)]),
  -    {ok, Res1} = internal_read(ignore, Key, Type, vectorclock:from_list([{DC1,16}]),ignore,  OpsCache, SnapshotCache),
  +    {ok, Res1} = internal_read(ignore, Key, Type, vectorclock:from_list([{DC1,16}]), ignore, OpsCache, SnapshotCache),
       ?assertEqual(1, Type:value(Res1)),
       io:format("after making the first read: Opscache= ~p~n SnapCache=~p", [orddict:to_list(OpsCache), orddict:to_list(SnapshotCache)]),
       %% Insert second increment
  
positive.code:                     %% the following checks for the case there were no snapshots and there were operations, but none was applicable
                      %% for the given snapshot_time
                      case (CommitTime == ignore) of
                          true->
                              riak_core_vnode:reply(Sender, {error, no_snapshot}),
                              {error, no_snapshot};
                          false->
                              riak_core_vnode:reply(Sender, {ok, Snapshot}),
                              SnapshotDict1 = orddict:store(CommitTime,Snapshot, SnapshotDict),
                              snapshot_insert_gc(Key,SnapshotDict1, OpsDict, SnapshotCache, OpsCache),
                              {ok, Snapshot}
                      end;
  
negative.code:     riak_core_vnode_master:get_vnode_pid(I, ?MODULE).
  
  %% @doc Read state of key at given snapshot time
  -spec read(key(), type(), snapshot_time(), txid()) -> {ok, snapshot()} | {error, reason()}.
  read(Key, Type, SnapshotTime, TxId) ->
      DocIdx = riak_core_util:chash_key({?BUCKET, term_to_binary(Key)}),
      Preflist = riak_core_apl:get_primary_apl(DocIdx, 1, materializer),
  