public final void waitForTasks() {
		synchronized (this.taskPool) {
			while ((this.runningTasks > 0) || !this.taskPool.isEmpty()) {
				try {
					this.taskPool.wait();
				} catch (final InterruptedException e) {
					this.master.interrupt();
				}
			}
		}
	}