anchor.diff:      {ok, Res13} = internal_read(Key, Type, vectorclock:from_list([{DC1,142}]),ignore, OpsCache, SnapshotCache),
       ?assertEqual(13, Type:value(Res13)).
   
  -
  -
  +%% @doc This tests to make sure operation lists can be large and resized
  +large_list_test() ->
  +        OpsCache = ets:new(ops_cache, [set]),
  +    SnapshotCache = ets:new(snapshot_cache, [set]),
  +    Key = mycount,
  +    DC1 = 1,
  +    Type = riak_dt_gcounter,
  +
  +    %% Make 1000 updates to grow the list, whithout generating a snapshot to perform the gc
  +    {ok, Res0} = internal_read(Key, Type, vectorclock:from_list([{DC1,2}]),ignore, OpsCache, SnapshotCache),
  +    ?assertEqual(0, Type:value(Res0)),
  +
  +    lists:foreach(fun(Val) ->
  +			  op_insert_gc(Key, generate_payload(10,11+Val,Res0,Val), OpsCache, SnapshotCache)
  +		  end, lists:seq(1,1000)),
  +    
  +    {ok, Res1000} = internal_read(Key, Type, vectorclock:from_list([{DC1,2000}]),ignore, OpsCache, SnapshotCache),
  +    ?assertEqual(1000, Type:value(Res1000)),
  +    
  +    %% Now check everything is ok as the list shrinks from generating new snapshots
  +    lists:foreach(fun(Val) ->
  +    			  op_insert_gc(Key, generate_payload(10+Val,11+Val,Res0,Val), OpsCache, SnapshotCache),
  +    			  {ok, Res} = internal_read(Key, Type, vectorclock:from_list([{DC1,2000}]),ignore, OpsCache, SnapshotCache),
  +    			  ?assertEqual(Val, Type:value(Res))
  +    		  end, lists:seq(1001,1100)).
   
   generate_payload(SnapshotTime,CommitTime,Prev,Name) ->
       Key = mycount,
  
positive.code: 		       [{_, SnapshotDictA}] ->
  			   SnapshotDictA
  		   end,
      SnapshotDict1 = case ShouldGc of
  			true ->
  			    vector_orddict:insert_bigger(CommitTime,Snapshot, vector_orddict:new());
  			false ->
  			    vector_orddict:insert_bigger(CommitTime,Snapshot, SnapshotDict)
  		    end,
      snapshot_insert_gc(Key,SnapshotDict1, SnapshotCache, OpsCache,ShouldGc).
  
  %% @doc This function takes care of reading. It is implemented here for not blocking the
  
negative.code:     {ok, ReadOld} = internal_read(Key, Type, vectorclock:from_list([{DC1,16}]), ignore, OpsCache, SnapshotCache),
      ?assertEqual(1, Type:value(ReadOld)).
  
  multipledc_write_test() ->
      OpsCache = ets:new(ops_cache, [set]),
      SnapshotCache = ets:new(snapshot_cache, [set]),
  