/** * Figure out next task to run based on current state, task, and shutdown context. * * @return Return next task to run */ private ITask getNextTask() { ITask nextTask = currentState.createTask(this); if (nextTask == null) { return null; } else { return new MetricsCollectingTaskDecorator(nextTask, metricsFactory); } }