public void Prepend(IEnumerable<Envelope> envelopes)
{
// since we want to save the order of messages, but still prepending using AddFirst,
// we must enumerate envelopes in reversed order
foreach (var envelope in envelopes.Distinct().Reverse())
{
_theStash.AddFirst(envelope);
}
}