```fun getUsers(since: Int): Observable<Mutable...
# rx
b
Copy code
fun getUsers(since: Int): Observable<MutableList<User>> =
        api.getUsers(since)
                .subscribeOn(<http://Schedulers.io|Schedulers.io>())
                .flatMap { items -> Observable.fromIterable(items).flatMap(this::getUserByLogin) }
                .toSortedList { user1, user2 -> user1.id.compareTo(user2.id) }
                .toObservable()
                .doOnError(this::failedUser)
                .observeOn(AndroidSchedulers.mainThread())

    private fun getUserByLogin(user: UsersListUnfiltered): Observable<User> =
         api.getUserByLogin(user.login)
                 .subscribeOn(<http://Schedulers.io|Schedulers.io>())
                 .map(this::convertToUser)
                 .doOnNext(this::storeUser)
                 .doOnError(this::failedUser)