anchor.diff:  
       {ok, Res0} = internal_read(Key, Type, vectorclock:from_list([{DC1,2}]),ignore, OpsCache, SnapshotCache),
       ?assertEqual(0, Type:value(Res0)),
  -    
  +
       op_insert_gc(Key, generate_payload(10,11,Res0,a1), OpsCache, SnapshotCache),
       {ok, Res1} = internal_read(Key, Type, vectorclock:from_list([{DC1,12}]),ignore, OpsCache, SnapshotCache),
       ?assertEqual(1, Type:value(Res1)),
  
positive.code:     {Length,Ops,LatestSnapshot,SnapshotCommitTime,IsFirst} =
  	case Result of
  	    {error, no_snapshot} ->
  		{L1,O1,LS1,SCT1,false} = logging_vnode:get(MinSnapshotTime),
  		{L1,O1,LS1,SCT1,false};
  	    {LatestSnapshot1,SnapshotCommitTime1,IsFirst1} ->
  		case ets:lookup(OpsCache, Key) of
  		    [] ->
  
negative.code:     {ok, ReadDC2} = internal_read(Key, Type, vectorclock:from_list([{DC1,0},{DC2,1}]), ignore, OpsCache, SnapshotCache),
      io:format("Result2 = ~p", [ReadDC2]),
      ?assertEqual(1, Type:value(ReadDC2)),
  
      %% Read snapshot including both increments
      {ok, Res2} = internal_read(Key, Type, vectorclock:from_list([{DC2,1}, {DC1,1}]), ignore, OpsCache, SnapshotCache),
      ?assertEqual(2, Type:value(Res2)).
  
  %% Check that a read to a key that has never been read or updated, returns the CRDTs initial value
  %% E.g., for a gcounter, return 0.
  read_nonexisting_key_test() ->
  