public void addItem(Object item) {
        mItems.add(item);
        notifyItemInserted(mItems.size() - 1);
    }
An abstraction over {@link BaseDataBoundAdapter} that keeps the list of children and can
support multiple item types.
<p>
This class relies on all layouts using the "data" variable to represent the item.
<p>
Although this class by itself just exists for demonstration purposes, it might be a useful idea
for an application to have a generic naming convention for their items to scale lists with
many view types.
<p>
Note that, by using this, you lose the compile time type checking for mapping your items to
layout files but at run time, it will still be checked. See
{@link androidx.databinding.ViewDataBinding#setVariable(int, Object)} for details.
DataBindingDataBoundRecyclerView/app/src/main/java/com/example/android/databoundrecyclerview/MultiTypeDataBoundAdapter.java