class TodoListViewModelImpl extends BaseViewModel implements TodoListViewModel {

    @Override
    public Observable<Todo> checkChangeItem(TodoItemViewModel todoItemViewModel) {
        Todo todo = todoItemViewModel.getTodo();
        return configWithScheduler(mRepository.createOrUpdate(todo))
                .doOnSubscribe(todo::switchComplete)
                .doOnError(throwable -> todo.switchComplete())
                .doOnNext(id -> mTodoItems.set(mTodoItems.indexOf(todoItemViewModel), todoItemViewModel));
    }

    public  TodoListViewModelImpl(@NonNull Context mContext, @NonNull TodoRepository todoRepository,
                                 @NonNull RxUtils.SchedulerHolder schedulerHolder);

}