class TodoListViewModelImpl extends BaseViewModel implements TodoListViewModel {

    @Override
    @SuppressWarnings("Anonymous2MethodRef")
    public Observable fetchAllTodo() {
        return configWithScheduler(mRepository.getAll()).doOnNext(items -> {
            mTodoItems.clear();
            mTodoItems.addAll(TransformUtils.map(items, new TransformUtils.Map<Todo>() {
                @Override
                public TodoItemViewModel map(Todo todo) {
                    return new TodoItemViewModel(todo);
                }
            }));
            checkEmptyAndShowAlert();
        });
    }

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

}