in todoapp/app/src/main/java/com/example/android/architecture/blueprints/todoapp/tasks/domain/TasksListLogic.java [98:105]
private static Next<TasksListModel, TasksListEffect> onTaskCompleted(
TasksListModel model, TaskMarkedComplete event) {
int taskIndex = model.findTaskIndexById(event.taskId());
if (taskIndex < 0) throw new IllegalStateException("Task does not exist");
Task updatedTask = checkNotNull(model.tasks()).get(taskIndex).complete();
return updateTask(updatedTask, model, taskIndex, FeedbackType.MARKED_COMPLETE);
}