public bool TryPeek(out T instance) { using (m_lock.Acquire()) { if (m_queue.Count > 0) { instance = m_queue.Peek(); return(true); } }; instance = default(T); return(false); }