protected override RecyclerView.Adapter BuildWrappedAdapter(IMvxTemplateSelector templateSelector)
        {
            var advancedRecyclerViewAdapter = new MvxNonExpandableAdapter(BindingContext);

            RecyclerView.Adapter adapter = advancedRecyclerViewAdapter;

            var itemUniqueIdProvider =
                MvxAdvancedRecyclerViewAttributeExtensions.BuildUniqueItemIdProvider(Context, Attrs);

            advancedRecyclerViewAdapter.UniqueIdProvider     = itemUniqueIdProvider;
            advancedRecyclerViewAdapter.ItemTemplateSelector = templateSelector;

            AdvancedRecyclerViewAdapter = advancedRecyclerViewAdapter;

            bool isSwipeEnabled = MvxAdvancedRecyclerViewAttributeExtensions.IsSwipeSupported(Context, Attrs);

            if (isSwipeEnabled)
            {
                var swipeableTemplate =
                    MvxAdvancedRecyclerViewAttributeExtensions.BuildSwipeableTemplate(Context, Attrs);
                advancedRecyclerViewAdapter.SwipeableTemplate = swipeableTemplate;

                _mRecyclerViewTouchActionGuardManager = new RecyclerViewTouchActionGuardManager();
                _mRecyclerViewTouchActionGuardManager.SetInterceptVerticalScrollingWhileAnimationRunning(true);
                _mRecyclerViewTouchActionGuardManager.Enabled = true;

                _mRecyclerViewSwipeManager = new RecyclerViewSwipeManager();
                return(_mRecyclerViewSwipeManager.CreateWrappedAdapter(advancedRecyclerViewAdapter));
            }

            return(advancedRecyclerViewAdapter);
        }