void FetchNextActivity(Dictionary<byte[], Queue<Activity>> snapshot, byte[] streamId, SortedSet<Activity> buffer) { Queue<Activity> streamQueue; if (snapshot.TryGetValue(streamId, out streamQueue)) { if (streamQueue.Count > 0) { var candidate = streamQueue.Dequeue(); buffer.Add(candidate); } } }