docs: @SuppressWarnings("unchecked")
      @BindingAdapter(value = {"itemBinding", "items", "adapter", "pageTitles"}, requireAll = false)
      public static <T> void setAdapter(ViewPager viewPager, ItemBinding<T> itemBinding, List items, BindingViewPagerAdapter<T> adapter, BindingViewPagerAdapter.PageTitles<T> pageTitles) {
          if (itemBinding == null) {
              throw new IllegalArgumentException("onItemBind must not be null");
          }
          BindingViewPagerAdapter<T> oldAdapter = (BindingViewPagerAdapter<T>) viewPager.getAdapter();
          if (adapter == null) {
              if (oldAdapter == null) {
                  adapter = new BindingViewPagerAdapter<>();
              } else {
                  adapter = oldAdapter;
              }
          }
          adapter.setItemBinding(itemBinding);
          adapter.setItems(items);
          adapter.setPageTitles(pageTitles);
  
          if (oldAdapter != adapter) {
              viewPager.setAdapter(adapter);
          }
      }