question: @ SuppressLint ( "NewApi" ) public void scrapActiveViews ( ) { final View [ ] activeViews = mActiveViews ; final boolean hasListener = mRecyclerListener != null ; 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 AbsHListView . LayoutParams lp = ( AbsHListView . LayoutParams ) victim . getLayoutParams ( ) ; int whichScrap = lp . viewType ; activeViews [ i ] = null ; final boolean scrapHasTransientState = android . os . Build . VERSION . SDK_INT >= 16 ? victim . hasTransientState ( ) : false ; if ( ! shouldRecycleViewType ( whichScrap ) || scrapHasTransientState ) { if ( whichScrap != 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 [ whichScrap ] ; } victim . onStartTemporaryDetach ( ) ; lp . scrappedFromPosition = mFirstActivePosition + i ; scrapViews . add ( victim ) ; if ( android . os . Build . VERSION . SDK_INT >= 14 ) { victim . setAccessibilityDelegate ( null ) ; } if ( hasListener ) { mRecyclerListener . onMovedToScrapHeap ( victim ) ; } } } pruneScrapViews ( ) ; }
target:  Move all views remaining in mActiveViews to mScrapViews.