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;
}

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 ; }
saves the existing attribute states
