public BaseWorkTask getIdle() {

		/* this logic is not needed since the idle pool should have more than enough tasks */
		if (idleQueue.size() == 0) {
			System.err.println("** IDLE QUEUE is 0; TASK QUEUE is " + mQueue.size());
			return null;
		}
		return (BaseWorkTask) idleQueue.remove(0);
	}