Запросы github api, не совсем верно работает алгорим

Всем привет! Проблема такова: при отправке запроса на github api алгоритм стабильно пропускает данные из массива. Имеется массив данных из 30 записей информации о пользователе. С уникальными значениями id, login и т.д. При отправке 30ти запросов, положительные получаю от 23 до 26-28. Всегда по разному. Подскажите чего я не вижу? Почему не получается получить 30 ответов?

Запрос первых 30ти пользователей:

@GET("users")
    @Headers("Authorization: token ***")
    fun getAllUser(
        @Query("since") since: Int = 0
    ): Call<ArrayList<User>>

Запрос детальной информации о пользователе:

@GET("users/{username}")
@Headers("Authorization: token ***")
fun getUserDetail(
    @Path("username") username: String,
): Call<DetailUserResponce>

Вьюмодель:

fun setUserDetail(username: String) {
    RetrofitClient.apiInstance
        .getUserDetail(username)
        .enqueue(object : Callback<DetailUserResponce>{
            override fun onResponse(
                call: Call<DetailUserResponce>,
                response: Response<DetailUserResponce>
            ) {
                if (response.isSuccessful) {
                    user.postValue(response.body())
                }
            }
            override fun onFailure(call: Call<DetailUserResponce>, t: Throwable) {
                Log.d("MyTag", t.message.toString())
            }
        })
}
fun getUserDetail(): MutableLiveData<DetailUserResponce> {
    return user
}
private fun setAllUsers() {
    RetrofitClient.apiInstance
        .getAllUser()
        .enqueue(object : Callback<ArrayList<User>>{
            override fun onResponse(
                call: Call<ArrayList<User>>,
                response: Response<ArrayList<User>>
            ) {
                if (response.isSuccessful) {
                    listUsers.postValue(response.body())
                }
            }

            override fun onFailure(call: Call<ArrayList<User>>, t: Throwable) {
                Log.d("MyTag", t.message.toString())
            }


        })
}
fun getSearchUsers(): LiveData<ArrayList<User>>{
    return listUsers
}

Модели данных:

data class User(
    val login: String,
    val id: Int,
    val avatar_url: String,
    var followers: Int,
): java.io.Serializable

data class DetailUserResponce (
    val id: Int,
    val avatar_url: String,
    val repos_url: String,
    val name: String,
    val bio: String,
    val public_repos: Int,
    val followers: Int,
    val following: Int,
        )

Алгоритм:

viewModel.getSearchUsers().observe(viewLifecycleOwner) {
    if (it != null) {
        for(user in it) {
            vieModelD.setUserDetail(user.login)
            vieModelD.getUserDetail().observe(viewLifecycleOwner) { userResponce ->
                if (user.id == userResponce.id) {
                    user.followers = userResponce.followers
                    adapter.setData(it)
                }
            }
        }
    }
}

Ответы (0 шт):