public final void addStrings ( Collection < String > strCollection ) { if ( sourceNode != null ) { String previousString = "" ; //Add all the Strings in strCollection to the MDAG. for ( String currentString : strCollection ) { int mpsIndex = calculateMinimizationProcessingStartIndex ( previousString , currentString ) ; //If the _transition path of the previousString needs to be examined for minimization or //equivalence class representation after a certain point, call replaceOrRegister to do so. if ( mpsIndex != - 1 ) { String transitionSubstring = previousString . substring ( 0 , mpsIndex ) ; String minimizationProcessingSubString = previousString . substring ( mpsIndex ) ; replaceOrRegister ( sourceNode . transition ( transitionSubstring ) , minimizationProcessingSubString ) ; } ///// addStringInternal ( currentString ) ; previousString = currentString ; } ///// //Since we delay the minimization of the previously-added String //until after we read the next one, we need to have a seperate //statement to minimize the absolute last String. replaceOrRegister ( sourceNode , previousString ) ; } else { unSimplify ( ) ; addStrings ( strCollection ) ; } }
Adds a Collection of Strings to the MDAG .