Buggy code:
private void hideModelSetupTabbedPane ( ContainerEvent evt ) { } private void openButtonActionPerformed ( ActionEvent evt ) { } private void openMenuItemActionPerformed ( ActionEvent evt ) { } private void closeActionPerformed ( ActionEvent evt ) { } private void newActionPerformed ( ActionEvent evt ) { } public void createNewProject ( File projectFile , boolean fromScratch ) { } private void saveButtonActionPerformed ( ActionEvent evt ) { } private void helpInterfaceButtonActionPerformed ( ActionEvent evt ) { } private void helpModelButtonActionPerformed ( ActionEvent evt ) { } private void helpSoftwareGuideButtonActionPerformed ( ActionEvent evt ) { } private void helpLFTButtonActionPerformed ( ActionEvent evt ) { } public void enableModelButtons ( ) { } public void disableModelButtons ( ) { } public void openProject ( File projectFile ) { } public void openProject ( File projectFile , boolean showProject ) { } public boolean closeProject ( String closeQuit ) { } public void shutDownProject ( ) { } private void removeProjectFromView ( ) { } public boolean saveProject ( ) { } private boolean saveProjectAs ( ) { } public void setProjectDir ( File dirFile ) { } private void createParameterTabs ( ) { } private void saveMenuItemActionPerformed ( ActionEvent evt ) { } private void saveasMenuItemActionPerformed ( ActionEvent evt ) { } public void terminateExperiment ( ActionEvent evt ) { } private void configureMenuItemActionPerformed ( ActionEvent evt ) { } private void summaryActionPerformed ( ActionEvent evt ) { } private void revealSummaryPane ( ) { } public void updateModelSummary ( ) { if ( ( this . openProject ) == null ) { modelSummarySubtitle . setText ( resourceMap . getString ( "modelSummarySubtitle.text" ) ) ; } else { String theText = "<html>" ; theText += "<b>Species:<//b><seq2seq4repair_space>" ; if ( ( this . openProject . getFish ( ) . size ( ) ) > 0 ) { for ( String fish : this . openProject . getFish ( ) ) { theText += fish + ",<seq2seq4repair_space>" ; } theText = ( theText . substring ( 0 , ( ( theText . length ( ) ) - 2 ) ) ) + "<br>" ; } else { theText += "<i>No<seq2seq4repair_space>species<seq2seq4repair_space>have<seq2seq4repair_space>been<seq2seq4repair_space>created<//i><br>" ; } theText += "<br><b>Reaches:<//b><seq2seq4repair_space>" ; if ( ( this . openProject . getHabs ( ) . size ( ) ) > 0 ) { theText += "<br><table<seq2seq4repair_space>border=0<seq2seq4repair_space>cellpadding=2>" ; for ( String hab : this . openProject . getHabs ( ) ) { theText += ( "<tr><td<seq2seq4repair_space>colspan=3>" + hab ) + "<//td><//tr>" ; SetupParameters habSetup = openProject . getSetupParameters ( ( "habSetup-" + hab ) ) ; theText += ( "<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;<//td><td>Flow<seq2seq4repair_space>File:<//td><td><i>" + ( habSetup . getParameter ( "flowFile" ) . getParameterValue ( ) ) ) + "<i><//td><//tr>" ; theText += ( "<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;<//td><td>Temperature<seq2seq4repair_space>File:<//td><td><i>" + ( habSetup . getParameter ( "temperatureFile" ) . getParameterValue ( ) ) ) + "<i><//td><//tr>" ; theText += ( "<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;<//td><td>Turbidity<seq2seq4repair_space>File:<//td><td><i>" + ( habSetup . getParameter ( "turbidityFile" ) . getParameterValue ( ) ) ) + "<i><//td><//tr>" ; } theText = ( theText . substring ( 0 , ( ( theText . length ( ) ) - 2 ) ) ) + "<//td><//tr><//table><br>" ; } else { theText += "<i>No<seq2seq4repair_space>reaches<seq2seq4repair_space>have<seq2seq4repair_space>been<seq2seq4repair_space>created<//i><br>" ; } SetupParameters modSetup = openProject . getSetupParameters ( "modSetup-" ) ; String startDate = modSetup . getParameter ( "runStartDate" ) . getParameterValue ( ) ; String endDate = modSetup . getParameter ( "runEndDate" ) . getParameterValue ( ) ; theText += ( ( "<b>Run<seq2seq4repair_space>Start//End<seq2seq4repair_space>Dates:<//b><seq2seq4repair_space>start:<seq2seq4repair_space>" + startDate ) + "<seq2seq4repair_space>---<seq2seq4repair_space>end:<seq2seq4repair_space>" ) + endDate ; theText += "<br><br><b>Experiment<seq2seq4repair_space>Setup<//b>" ; theText += "<br><table<seq2seq4repair_space>border=0<seq2seq4repair_space>cellpadding=2>" ; SetupParameters expSetup = openProject . getSetupParameters ( "expSetup-" ) ; theText += ( "<tr><td>Number<seq2seq4repair_space>of<seq2seq4repair_space>Scenarios:<//td><td>" + ( expSetup . getParameter ( "numberOfScenarios" ) . getParameterValue ( ) ) ) + "<//td><//tr>" ; theText += ( "<tr><td>Number<seq2seq4repair_space>of<seq2seq4repair_space>Replicates:<//td><td>" + ( expSetup . getParameter ( "numberOfReplicates" ) . getParameterValue ( ) ) ) + "<//td><//tr>" ; if ( MetaProject . getInstance ( ) . getVersion ( ) . equals ( "instream" ) ) { theText += ( "<tr><td>Number<seq2seq4repair_space>of<seq2seq4repair_space>Year<seq2seq4repair_space>Shuffler<seq2seq4repair_space>Replicates:<//td><td>" + ( expSetup . getParameter ( "numberOfYearShufflerReplicates" ) . getParameterValue ( ) ) ) + "<br><//td><//tr>" ; } theText += "<tr><td<seq2seq4repair_space>colspan=2>Parameters<seq2seq4repair_space>varied<seq2seq4repair_space>in<seq2seq4repair_space>experiment<seq2seq4repair_space>and<seq2seq4repair_space><i>their<seq2seq4repair_space>values<//i>:<//td><//tr>" ; if ( ( openProject . exps . size ( ) ) > 0 ) { for ( String exp : openProject . exps ) { theText += ( "<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;" + exp ) + ":<//td><td><i>" ; for ( Parameter value : openProject . getExperimentParameters ( exp ) . getValues ( ) ) { theText += ( value . getParameterValue ( ) ) + ",<seq2seq4repair_space>" ; } <START_BUG> theText = theText . substring ( 0 , ( ( theText . length ( ) ) - 3 ) ) ; <END_BUG> theText += "<//i><//td><//tr>" ; } } else { theText += "<tr><td<seq2seq4repair_space>colspan=2>&nbsp;&nbsp;&nbsp;&nbsp;<i>no<seq2seq4repair_space>parameters<seq2seq4repair_space>varied<seq2seq4repair_space>in<seq2seq4repair_space>the<seq2seq4repair_space>experiment<//td><//tr>" ; } theText += "<//table><br>" ; theText += "<//html>" ; modelSummarySubtitle . setText ( theText ) ; } } private boolean okToRunModel ( ) { } private void runButtonActionPerformed ( ActionEvent evt ) { } private void runMenuItemActionPerformed ( ActionEvent evt ) { } private void runMenuItemActionPerformed ( ActionEvent evt , boolean useGraphics ) { } public void modelRunCompleted ( LaunchInsamloExecutable launcher ) { } private void postProcessLFTActionPerformed ( ) { } private void showConsoleClearButtonActionPerfomed ( ActionEvent evt ) { } private void terminateModelRunButtonActionPerfomed ( ActionEvent evt ) { } private void runWithGraphicsButtonActionPerformed ( ActionEvent evt ) { } private void runWithGraphicsMenuItemActionPerformed ( ActionEvent evt ) { } private void experimentActionPerformed ( ActionEvent evt ) { } private void lftActionPerformed ( ) { } private void addExperimentParamButtonActionPerformed ( ActionEvent evt ) { } private void updateErrorWarningLinkButton ( ActionEvent evt ) { } private void errorWarningButtonActionPerformed ( ActionEvent evt ) { } public void addExperimentParamSubmitted ( String newName , String newInstanceName , String newClassName ) { } public void setNewSpeciesName ( String newName ) { } public void setNewReachName ( String newName ) { } private void startLFTActionPerformed ( ActionEvent evt ) { } private void killLFTActionPerformed ( ActionEvent evt ) { } private void clearExperimentButtonActionPerformed ( ActionEvent evt ) { } public void clearExperiment ( ) { } private void removeExperimentParamButtonActionPerformed ( ActionEvent evt ) { }

Fix:
theText = theText . substring ( 0 , ( ( theText . length ( ) ) - 2 ) ) ;