Buggy code:
public class JUnitTask extends AbstractTask { private ArrayList tests = new ArrayList ( ) ; private ArrayList batchTests = new ArrayList ( ) ; private ArrayList formatters = new ArrayList ( ) ; private Integer timeout = null ; private boolean summary = false ; private String summaryValue = "" ; private JUnitTestRunner runner = null ; private File dir ; private String jvm ; private String maxMem ; private EnvironmentData sysProperties = new EnvironmentData ( ) ; private Path classPath = new Path ( ) ; private Commandline vmArgs = new Commandline ( ) ; public void setDir ( final File dir ) { } public void setErrorProperty ( String propertyName ) { } public void setFailureProperty ( String propertyName ) { } public void setFiltertrace ( boolean value ) { } public void setFork ( boolean value ) { } public void setHaltonerror ( boolean value ) { } public void setHaltonfailure ( boolean value ) { } public void setJvm ( final String value ) { } public void setMaxmemory ( final String max ) { } public void setPrintsummary ( JUnitTask . SummaryAttribute value ) { } public void setTimeout ( Integer value ) { } public void addFormatter ( FormatterElement fe ) { } public void addSysproperty ( EnvironmentVariable sysp ) { } public void addTest ( JUnitTest test ) { } public void addBatchTest ( final BatchTest test ) { } public void addClasspath ( final Path path ) { } public void addJvmarg ( final Argument argument ) { } public void execute ( ) throws TaskException { } protected Iterator getIndividualTests ( ) throws TaskException { } protected File getOutput ( FormatterElement fe , JUnitTest test ) throws TaskException { } protected void addClasspathEntry ( String resource ) { } protected Iterator allTests ( ) { } protected void execute ( final JUnitTest test ) throws TaskException { } protected void handleErrorOutput ( String line ) { } protected void handleOutput ( String line ) { } private int executeAsForked ( JUnitTest test ) throws TaskException { ExecuteJava cmd = new ExecuteJava ( ) ; cmd . setJvm ( jvm ) ; cmd . setIgnoreReturnCode ( true ) ; cmd . setWorkingDirectory ( dir ) ; cmd . setMaxMemory ( maxMem ) ; cmd . getClassPath ( ) . add ( classPath ) ; cmd . getVmArguments ( ) . addArguments ( vmArgs ) ; cmd . getSysProperties ( ) . addVariables ( sysProperties ) ; cmd . setClassName ( "org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner" ) ; cmd . getArguments ( ) . addArgument ( test . getName ( ) ) ; cmd . getArguments ( ) . addArgument ( ( "filtertrace=" + ( test . getFiltertrace ( ) ) ) ) ; cmd . getArguments ( ) . addArgument ( ( "haltOnError=" + ( test . getHaltonerror ( ) ) ) ) ; cmd . getArguments ( ) . addArgument ( ( "haltOnFailure=" + ( test . getHaltonfailure ( ) ) ) ) ; if ( summary ) { getContext ( ) . info ( ( "Running<seq2seq4repair_space>" + ( test . getName ( ) ) ) ) ; cmd . getArguments ( ) . addArgument ( "formatter=org.apache.tools.ant.taskdefs.optional.junit.SummaryJUnitResultFormatter" ) ; } StringBuffer formatterArg = new StringBuffer ( 128 ) ; final FormatterElement [ ] feArray = mergeFormatters ( test ) ; for ( int i = 0 ; i < ( feArray . length ) ; i ++ ) { FormatterElement fe = feArray [ i ] ; formatterArg . append ( "formatter=" ) ; formatterArg . append ( fe . getClassname ( ) ) ; File outFile = getOutput ( fe , test ) ; if ( outFile != null ) { formatterArg . append ( "," ) ; formatterArg . append ( outFile ) ; } cmd . getArguments ( ) . addArgument ( formatterArg . toString ( ) ) ; formatterArg . setLength ( 0 ) ; } File propsFile = new File ( ( ( "junit" + ( new Random ( System . currentTimeMillis ( ) ) . nextLong ( ) ) ) + ".properties" ) ) ; cmd . getArguments ( ) . addArgument ( ( "propsfile=" + ( propsFile . getAbsolutePath ( ) ) ) ) ; Properties props = new Properties ( ) ; props . putAll ( getContext ( ) . getProperties ( ) ) ; try { final FileOutputStream outstream = new FileOutputStream ( propsFile ) ; <START_BUG> props . save ( outstream , "Ant<seq2seq4repair_space>JUnitTask<seq2seq4repair_space>generated<seq2seq4repair_space>properties<seq2seq4repair_space>file" ) ; <END_BUG> outstream . close ( ) ; } catch ( IOException ioe ) { throw new TaskException ( "Error<seq2seq4repair_space>creating<seq2seq4repair_space>temporary<seq2seq4repair_space>properties<seq2seq4repair_space>file." , ioe ) ; } try { return cmd . executeForked ( getContext ( ) ) ; } finally { if ( ! ( propsFile . delete ( ) ) ) { throw new TaskException ( "Could<seq2seq4repair_space>not<seq2seq4repair_space>delete<seq2seq4repair_space>temporary<seq2seq4repair_space>properties<seq2seq4repair_space>file." ) ; } } } private int executeInVM ( JUnitTest test ) throws TaskException { } private FormatterElement [ ] mergeFormatters ( JUnitTest test ) { } public static class SummaryAttribute extends EnumeratedAttribute { public String [ ] getValues ( ) { } public boolean asBoolean ( ) { } } }

Fix:
props . store ( outstream , "Ant<seq2seq4repair_space>JUnitTask<seq2seq4repair_space>generated<seq2seq4repair_space>properties<seq2seq4repair_space>file" ) ;