log.error(ex);
System.err.println(ex);
	public void testBarrierWithTimeOut()	{		RemoveOneItemWithTimeout[] removers = new RemoveOneItemWithTimeout[10];		int num_dead = 0;		for (int i = 0; i < removers.length; i++)		{			removers[i] = new RemoveOneItemWithTimeout(i, 1000);			removers[i].start();		}		Util.sleep(5000);		System.out.println("-- adding element 99");		try		{			queue.add(new Long(99));		}		catch (Exception ex)		{			log.error(ex);		}		Util.sleep(5000);		System.out.println("-- adding element 100");		try		{			queue.add(new Long(100));		}		catch (Exception ex)		{			log.error(ex);		}		Util.sleep(1000);		for (int i = 0; i < removers.length; i++)		{			System.out.println("remover #" + i + " is " + (removers[i].isAlive() ? "alive" : "terminated"));			if (!removers[i].isAlive())			{				num_dead++;			}		}		assertEquals(num_dead, 2);		queue.close(false); // will cause all threads still blocking on peek() to return		Util.sleep(2000);		num_dead = 0;		for (int i = 0; i < removers.length; i++)		{			System.out.println("remover #" + i + " is " + (removers[i].isAlive() ? "alive" : "terminated"));			if (!removers[i].isAlive())			{				num_dead++;			}		}		assertEquals(num_dead, 10);	}