question: private void eliminateBackfillStates ( int baseState ) { if ( statesToBackfill . contains ( new Integer ( baseState ) ) ) { statesToBackfill . removeElement ( new Integer ( baseState ) ) ; short [ ] state = tempStateTable . elementAt ( baseState ) ; for ( int i = 0 ; i < numCategories ; i ++ ) { if ( state [ i ] != 0 ) { eliminateBackfillStates ( state [ i ] ) ; } } } }
target:  This removes "ending states" and states reachable from them from the list of states to backfill.