public synchronized Request nextRequest() 
		{
			if(direction == Direction.DOWN) 
			{
				Request r = down.pollLast();
				if( r == null )
				{
					r = up.pollFirst();
					direction = Direction.UP;
				}
				return r;
			} 
			else 
			{
				Request r = up.pollFirst();
				if( r == null )
				{
					r = down.pollLast();
					direction = Direction.DOWN;
				}
				return r;
			}
		}