public void Transfer(Stash stash) { if (_isQueueEmpty) { return; } var sample = _sampler.Sample(); lock (_queue) { foreach (var l in _queue) { stash.Add(l, sample); } _isQueueEmpty = true; _queue.Clear(); } }