@Override
        public void onItemRangeMoved(int fromPosition, int toPosition, int itemCount) {
          super.onItemRangeMoved(fromPosition, toPosition, itemCount);

          adapter.notifyItemRangeRemoved(fromPosition + 1, itemCount);
        }
        @Override
        public void onItemRangeRemoved(int positionStart, int itemCount) {
          super.onItemRangeRemoved(positionStart, itemCount);

          adapter.notifyItemRangeRemoved(positionStart + 1, itemCount);
        }
        @Override
        public void onChanged() {
          super.onChanged();

          adapter.notifyDataSetChanged();
        }
        @Override
        public void onItemRangeChanged(int positionStart, int itemCount, Object payload) {
          super.onItemRangeChanged(positionStart, itemCount, payload);

          adapter.notifyItemRangeChanged(positionStart + 1, itemCount);
        }
 private void unregisterAdapterDataObserver() {
   baseAdapter.unregisterAdapterDataObserver(adapterDataObserver);
 }