question: void scrapActiveViews ( ) { final View [ ] activeViews = mActiveViews ; final boolean multipleScraps = mViewTypeCount > 1 ; ArrayList < View > scrapViews = mCurrentScrap ; final int count = activeViews . length ; for ( int i = count - 1 ; i >= 0 ; i -- ) { final View victim = activeViews [ i ] ; if ( victim != null ) { final LayoutParams lp = ( LayoutParams ) victim . getLayoutParams ( ) ; activeViews [ i ] = null ; final boolean scrapHasTransientState = ViewCompat . hasTransientState ( victim ) ; int viewType = lp . viewType ; if ( ! shouldRecycleViewType ( viewType ) || scrapHasTransientState ) { if ( viewType != ITEM_VIEW_TYPE_HEADER_OR_FOOTER || scrapHasTransientState ) { removeDetachedView ( victim , false ) ; } if ( scrapHasTransientState ) { if ( mTransientStateViews == null ) { mTransientStateViews = new SparseArrayCompat < View > ( ) ; } mTransientStateViews . put ( mFirstActivePosition + i , victim ) ; } continue ; } if ( multipleScraps ) { scrapViews = mScrapViews [ viewType ] ; } lp . position = mFirstActivePosition + i ; scrapViews . add ( victim ) ; } } pruneScrapViews ( ) ; }
target:  Move all views remaining in mActiveViews to mScrapViews.