public async Task <T> Peek() { var queueItem = await _queueRepository.Peek <T>(Queue); if (queueItem == null) { return(default(T)); } await _queueRepository.MarkAsDequeued(Queue, queueItem.Id); return(queueItem.Message); }