Конвертировать списки в презентере kotlin

Пытаюсь выполнить поиск адресов с помощью интерфейса SearchListener от YandexMapkit. В ответ приходит объект Response, в котором содержится список найденных адресов. Так вот, я передаю этот список в презентер, чтобы выполнить проверку на null и пустоту и получить из презентера уже готовый список, который передам в адаптер. Для проверки в лог я вывел размер списка, который получаю из презентера и он оказался равен 0. Думаю проблема именно в презентере.

Метод onSearchResponse. Внутри него переменная list, которая должна получить уже конвертированный список. Этот список я и хочу передать в адаптер, но list.size.toString() выводит 0

override fun onSearchResponse(response: Response) {
        val mapObjects = mapView.map.mapObjects
        mapObjects.clear()

        val list = presenter.convertResponseToCountryModel(response.collection.children)
        Log.e("PRESENTER", list.size.toString())

        for (searchResult in response.collection.children) {
            Log.e("searchResult", searchResult.toString())
            val resultLocation = searchResult.obj!!.geometry[0].point
            if (resultLocation != null) {
                mapObjects.addPlacemark(
                        resultLocation,
                        ImageProvider.fromResource(this, R.drawable.ic_address_marker))
                Log.e("searchResult", "${resultLocation.latitude} + ${resultLocation.longitude} + ${response.collection.children}")
            }
        }
    }

Метод convertResponseToCountryModel в презентере

 fun convertResponseToCountryModel(response: MutableList<GeoObjectCollection.Item>): List<CountryModel> {
    for (found in response) {
        for (list in listSearchAddress) {

            //Название улицы
            val street = found.obj
                    ?.metadataContainer
                    ?.getItem(ToponymObjectMetadata::class.java)
                    ?.address
                    ?.components?.firstOrNull { it.kinds.contains(Address.Component.Kind.STREET) }
                    ?.name

            //Номер дома
            val house = found.obj
                    ?.metadataContainer
                    ?.getItem(ToponymObjectMetadata::class.java)
                    ?.address
                    ?.components?.firstOrNull { it.kinds.contains(Address.Component.Kind.HOUSE) }
                    ?.name

            //Проверка на null и пустоту
            if (street.isNullOrEmpty()) {
                if (house.isNullOrEmpty()) {
                    list.administrativeArea
                            ?.subAdministrativeArea
                            ?.locality
                            ?.thoroughfare
                            ?.thoroughfareName = "$street"
                } else if (house.isNotEmpty()) {
                    list.administrativeArea
                            ?.subAdministrativeArea
                            ?.locality
                            ?.thoroughfare
                            ?.thoroughfareName = "$street, $house"
                }
            } else
                list.administrativeArea
                        ?.subAdministrativeArea
                        ?.locality
                        ?.thoroughfare
                        ?.thoroughfareName = "$street"

            Log.e("Street",list.administrativeArea
                    ?.subAdministrativeArea
                    ?.locality
                    ?.thoroughfare
                    ?.thoroughfareName.toString() )

            (listSearchAddress as ArrayList).add(list)
        }
    }
    return listSearchAddress
}

Пробовал напрямую передать список из объекта Response в адаптер и там выполнять проверку на null и пустоту. Это работает, но так как я использую MVP, то хочу перенести эту проверку в презентер

Мой адаптер

    class FoundAddressAdapter(
        private val listCountryModel: MutableList<GeoObjectCollection.Item>,
        private val getCoordinate: ((coordinate: String) -> Unit))
    : RecyclerView.Adapter<AddressViewHolder>() {

    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): AddressViewHolder {
        return AddressViewHolder(LayoutInflater.from(parent.context)
                .inflate(R.layout.item_found_addresses, parent, false))
    }

    override fun onBindViewHolder(holder: AddressViewHolder, position: Int) {
        holder.bind(listCountryModel[position])
    }

    override fun getItemCount() = listCountryModel.size

    inner class AddressViewHolder(override val containerView: View) :
            RecyclerView.ViewHolder(containerView), LayoutContainer {

        fun bind(countryModel: GeoObjectCollection.Item) {

            var valueStreet: String = ""
            var valueCity: String = ""
            var latitude = countryModel.obj?.metadataContainer?.getItem(ToponymObjectMetadata::class.java)?.balloonPoint?.latitude
            var longitude = countryModel.obj?.metadataContainer?.getItem(ToponymObjectMetadata::class.java)?.balloonPoint?.longitude

            val address = countryModel.obj?.metadataContainer?.getItem(ToponymObjectMetadata::class.java)?.address
                    ?.components

            val city = countryModel.obj?.descriptionText

            val street = address
                    ?.firstOrNull { it.kinds.contains(Address.Component.Kind.STREET) }
                    ?.name

            val house = address
                    ?.firstOrNull { it.kinds.contains(Address.Component.Kind.HOUSE) }
                    ?.name

            if (street != null) {
                if(street.isNotEmpty()){
                    if(house.isNullOrEmpty()) {
                        valueStreet = "$street"
                    } else if( house.isNotEmpty()) {
                        valueStreet = "$street, $house"
                    }
                } else
                    valueStreet = "$street"
            }



            if(valueStreet.isNotEmpty()){
                valueCity = city.toString()
                image.setImageDrawable(ContextCompat.getDrawable(
                        image.context,
                        R.drawable.ic_address_marker
                ))
            }

            textViewStreet.text = valueStreet
            textViewCity.text = valueCity


            containerView.setOnClickListener {
                getCoordinate.invoke("$longitude, $latitude")
            }
        }
    }
}

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