private static class RecoverTransition implements
MultipleArcTransition<TaskImpl, TaskEvent, TaskStateInternal> {
@Override
public TaskStateInternal transition(TaskImpl task, TaskEvent taskEvent) {
TaskStateInternal endState = TaskStateInternal.NEW;
if (task.attempts != null) {
for (TaskAttempt taskAttempt : task.attempts.values()) {
task.eventHandler.handle(new TaskAttemptEvent(
taskAttempt.getID(), TaskAttemptEventType.TA_RECOVER));
}