As you can see, below is my class `UserAdapter` which uses latest `ListAdapter` which uses DiffUtil callback. In the original Adapter, I could easily implement Filterable and set me coming list to a filterable list, But here I don't seem to have control over selecting the list.

```
class UserAdapter(private val callback: (Int) -> Unit):
        ListAdapter<User, RecyclerView.ViewHolder>(DIFF_CALLBACK) {

    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
        val newsBinding = DataBindingUtil.inflate<UserDataBinding>(
                LayoutInflater.from(parent.context),
                R.layout.user_view,
                parent,
                false)

        return UserViewHolder(newsBinding)
    }

    override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
        (holder as UserViewHolder).bindTo(getItem(position))
        holder.getDataBinding().container.setOnClickListener {
            callback.invoke(position)
        }
        holder.getDataBinding().executePendingBindings()
    }

    companion object {
        val DIFF_CALLBACK= object: DiffUtil.ItemCallback<User>() {

            override fun areItemsTheSame(oldItem: User?, newItem: User?): Boolean {
                return oldItem?.id == newItem?.id
            }

            override fun areContentsTheSame(oldItem: User?, newItem: User?): Boolean {
                return oldItem?.name == newItem?.name
                        && oldItem?.email == newItem?.email
                        && oldItem?.phoneNumber == newItem?.phoneNumber
                        && oldItem?.city == newItem?.city
                        && oldItem?.taluka == newItem?.taluka
                        && oldItem?.state == newItem?.state
                        && oldItem?.category == newItem?.category
                        && oldItem?.profileUrl == newItem?.profileUrl
            }
        }
    }
}

```