Buggy code:
public abstract class OperatingSystem { public abstract String getInstallDirectory ( String name , String version ) { } public abstract static class OSTask { protected Install installer ; protected String name ; protected String label ; protected String directory ; protected boolean enabled ; public OSTask ( Install installer , String name ) { } public String getName ( ) { } public String getLabel ( ) { } public String getDefaultDirectory ( Install installer ) { } public String getDirectory ( ) { } public boolean isEnabled ( ) { } public void setEnabled ( boolean enabled ) { } public void setDirectory ( String directory ) { } public abstract void perform ( String installDir , Vector filesets ) throws IOException ; } public OperatingSystem . OSTask [ ] getOSTasks ( Install installer ) { } public void mkdirs ( String directory ) throws IOException { } public static OperatingSystem getOperatingSystem ( ) { } public static class Unix extends OperatingSystem { public String getInstallDirectory ( String name , String version ) { } public String getExtraClassPath ( ) { } public class ScriptOSTask extends OperatingSystem . OSTask { public ScriptOSTask ( Install installer ) { } public String getDefaultDirectory ( Install installer ) { } public void perform ( String installDir , Vector filesets ) throws IOException { if ( ! ( enabled ) ) return ; mkdirs ( directory ) ; String name = installer . getProperty ( "app.name" ) ; String script = ( ( directory ) + ( File . separatorChar ) ) + ( name . toLowerCase ( ) ) ; new File ( script ) . delete ( ) ; FileWriter out = new FileWriter ( script ) ; out . write ( "#!//bin//sh\n" ) ; out . write ( "#<seq2seq4repair_space>Java<seq2seq4repair_space>heap<seq2seq4repair_space>size,<seq2seq4repair_space>in<seq2seq4repair_space>megabytes\n" ) ; out . write ( "JAVA_HEAP_SIZE=128\n" ) ; out . write ( ( ( "DEFAULT_JAVA_HOME=\"" + ( System . getProperty ( "java.home" ) ) ) + "\"\n" ) ) ; out . write ( "if<seq2seq4repair_space>[<seq2seq4repair_space>\"$JAVA_HOME\"<seq2seq4repair_space>=<seq2seq4repair_space>\"\"<seq2seq4repair_space>];<seq2seq4repair_space>then\n" ) ; out . write ( "JAVA_HOME=\"$DEFAULT_JAVA_HOME\"\n" ) ; out . write ( "fi\n" ) ; out . write ( ( ( ( "exec<seq2seq4repair_space>\"$JAVA_HOME" + "//bin//java\"<seq2seq4repair_space>-server<seq2seq4repair_space>-mx${JAVA_HEAP_SIZE}m<seq2seq4repair_space>${" ) + ( name . toUpperCase ( ) ) ) + "}<seq2seq4repair_space>" ) ) ; String jar = ( ( installDir + ( File . separator ) ) + ( name . toLowerCase ( ) ) ) + ".jar" ; <START_BUG> out . write ( ( ( ( "-classpath<seq2seq4repair_space>\"" + ( getExtraClassPath ( ) ) ) + jar ) + "\"<seq2seq4repair_space>org.gjt.sp.jedit.jEdit<seq2seq4repair_space>-reuseview<seq2seq4repair_space>$@\n" ) ) ; <END_BUG> out . close ( ) ; String [ ] chmodArgs = new String [ ] { "chmod" , "755" , script } ; exec ( chmodArgs ) ; } } public class ManPageOSTask extends OperatingSystem . OSTask { public ManPageOSTask ( Install installer ) { } public String getDefaultDirectory ( Install installer ) { } public void perform ( String installDir , Vector filesets ) throws IOException { if ( ! ( enabled ) ) return ; mkdirs ( directory ) ; String name = installer . getProperty ( "app.name" ) ; String manpage = installer . getProperty ( "ostask.unix-man.manpage" ) ; InputStream in = getClass ( ) . getResourceAsStream ( ( "//" + manpage ) ) ; installer . copy ( in , new File ( directory , manpage ) . getPath ( ) , null ) ; } } public OperatingSystem . OSTask [ ] getOSTasks ( Install installer ) { } public void mkdirs ( String directory ) throws IOException { } public void exec ( String [ ] args ) throws IOException { } } public static class MacOS extends OperatingSystem . Unix { public String getInstallDirectory ( String name , String version ) { } public String getExtraClassPath ( ) { } } public static class Windows extends OperatingSystem { public String getInstallDirectory ( String name , String version ) { } public class JEditLauncherOSTask extends OperatingSystem . OSTask { public JEditLauncherOSTask ( Install installer ) { } public String getDefaultDirectory ( Install installer ) { } public void perform ( String installDir , Vector filesets ) { if ( ( ! ( enabled ) ) || ( ! ( filesets . contains ( "jedit-windows" ) ) ) ) return ; File executable = new File ( installDir , "jedit.exe" ) ; if ( ! ( executable . exists ( ) ) ) return ; String [ ] args = new String [ ] { executable . getPath ( ) , "//i" , ( ( System . getProperty ( "java.home" ) ) + ( File . separator ) ) + "bin" } ; try { Runtime . getRuntime ( ) . exec ( args ) . waitFor ( ) ; } catch ( IOException io ) { } catch ( InterruptedException ie ) { } } } public OperatingSystem . OSTask [ ] getOSTasks ( Install installer ) { } } public static class HalfAnOS extends OperatingSystem { public String getInstallDirectory ( String name , String version ) { } } public static class VMS extends OperatingSystem { public String getInstallDirectory ( String name , String version ) { } } private static OperatingSystem os ; }

Fix:
out . write ( ( ( ( "-classpath<seq2seq4repair_space>\"" + ( getExtraClassPath ( ) ) ) + jar ) + "\"<seq2seq4repair_space>org.gjt.sp.jedit.jEdit<seq2seq4repair_space>$@\n" ) ) ;