private boolean isFinished() {
		return _shutdown && !_running && isEmpty();
	}
Blocks until all tasks have completed execution after a shutdown request,
or the timeout occurs, or the current thread is interrupted, whichever
happens first.

@param timeout the maximum time to wait
@param unit the time unit of the timeout argument
@return {@code true} if this executor terminated and
        {@code false} if the timeout elapsed before termination
@throws InterruptedException if interrupted while waiting
jenetics.incubator/src/main/java/io/jenetics/incubator/util/TaskCompletion.java