docs: public void setViewPager(@Nullable ViewPager view) {
          if (mViewPager == view)
              return;
  
          if (mViewPager != null){
              mViewPager.removeOnPageChangeListener(this);
              PagerAdapter adapter = mViewPager.getAdapter();
              if(adapter != null)
              	adapter.unregisterDataSetObserver(mObserver);
          }
  
          mViewPager = view;
  
          if(mViewPager != null) {
              PagerAdapter adapter = mViewPager.getAdapter();
              if (adapter == null)
                  throw new IllegalStateException("ViewPager does not have adapter instance.");
  
              adapter.registerDataSetObserver(mObserver);
  
              mViewPager.addOnPageChangeListener(this);
  
              notifyDataSetChanged();
              onPageSelected(mViewPager.getCurrentItem());
          }
          else
              mTabContainer.removeAllViews();
      }