question: private void saveState ( ) { savedStartOffset = offsetAttribute . startOffset ( ) ; savedEndOffset = offsetAttribute . endOffset ( ) ; hasIllegalOffsets = ( savedEndOffset - savedStartOffset != termAttribute . length ( ) ) ; savedType = typeAttribute . type ( ) ; if ( savedBuffer . length < termAttribute . length ( ) ) { savedBuffer = new char [ ArrayUtil . oversize ( termAttribute . length ( ) , Character . BYTES ) ] ; } System . arraycopy ( termAttribute . buffer ( ) , 0 , savedBuffer , 0 , termAttribute . length ( ) ) ; iterator . text = savedBuffer ; hasSavedState = true ; }
target:  Saves the existing attribute states