public T DequeueTail()
        {
            T value;

            if (store.GetTail(out value))
            {
                store.RemoveTail();
                return(value);
            }

            throw new InvalidOperationException();
        }