private Vector<BaseWorkTask> createIdle(int size, BaseWorkTask task) {
		Vector<BaseWorkTask> idleQueue = new Vector<BaseWorkTask>(size);
		//create size+1 objects
		for (int i = 0; i <= size; i++) {
			idleQueue.add(task.copy());
		}
		return idleQueue;
	}