public JoinTaskListener(final int tasksToWaitFor, final TaskListener nestedTaskListener) { _nestedTaskListener = nestedTaskListener; if (tasksToWaitFor == 0) { logger.warn( "Was asked to join execution after 0 tasks, this might be a bug. Continuing with immediate completion."); // immediate completion _countDown = new AtomicInteger(1); onComplete(null); } else { _countDown = new AtomicInteger(tasksToWaitFor); } }