public virtual void TestListener()
        {
            Assert.AreEqual(0, q.Count);
            var latch    = new CountdownEvent(5);
            var listener = new ClientListTest.Listener <object>(latch);
            var id       = q.AddItemListener(listener, true);

            var t1 = new Thread(delegate(object o)
            {
                for (var i = 0; i < 5; i++)
                {
                    if (!q.Offer("event_item" + i))
                    {
                        throw new SystemException();
                    }
                }
            });

            t1.Start();

            Assert.IsTrue(latch.Wait(TimeSpan.FromSeconds(5)));
            q.RemoveItemListener(id);
        }