Buggy code:
public class ResultCollector extends AbstractListenerElement implements Serializable , NoThreadClone , Clearable , Remoteable , SampleListener , TestListener { private static final String TESTRESULTS_START = "<testResults>" ; private static final String TESTRESULTS_END = "<//testResults>" ; private static final String XML_HEADER = "<?xml<seq2seq4repair_space>version=\"1.0\"<seq2seq4repair_space>encoding=\"UTF-8\"?>" ; private static final int MIN_XML_FILE_LEN = ( ( ResultCollector . XML_HEADER . length ( ) ) + ( ResultCollector . TESTRESULTS_START . length ( ) ) ) + ( ResultCollector . TESTRESULTS_END . length ( ) ) ; private static transient Logger log = LoggingManager . getLoggerForClass ( ) ; public static final String FILENAME = "filename" ; private static boolean functionalMode = false ; public static final String ERROR_LOGGING = "ResultCollector.error_logging" ; private transient DefaultConfigurationSerializer serializer ; private volatile transient PrintWriter out ; private boolean inTest = false ; private static Map files = new HashMap ( ) ; private Set hosts = new HashSet ( ) ; public ResultCollector ( ) { } private void setFilenameProperty ( String f ) { } public String getFilename ( ) { } public boolean isErrorLogging ( ) { } public void setErrorLogging ( boolean errorLogging ) { } public void setFilename ( String f ) { } public void testEnded ( String host ) { } public void testStarted ( String host ) { } public void testEnded ( ) { } public void testStarted ( ) { } public void loadExistingFile ( ) throws IOException , ConfigurationException , SAXException { } private static void writeFileStart ( PrintWriter writer ) { } private static void writeFileEnd ( PrintWriter pw ) { } private static synchronized PrintWriter getFileWriter ( String filename ) throws IOException { if ( ( filename == null ) || ( ( filename . length ( ) ) == 0 ) ) { return null ; } PrintWriter writer = ( ( PrintWriter ) ( ResultCollector . files . get ( filename ) ) ) ; boolean trimmed = true ; if ( writer == null ) { if ( ( OldSaveService . getOutputFormat ( ) ) == ( OldSaveService . SAVE_AS_XML ) ) { trimmed = ResultCollector . trimLastLine ( filename ) ; } File ofile = new File ( filename ) ; ofile . mkdirs ( ) ; <START_BUG> writer = new PrintWriter ( new OutputStreamWriter ( new BufferedOutputStream ( new FileOutputStream ( ofile , trimmed ) ) , "UTF-8" ) , true ) ; <END_BUG> ResultCollector . files . put ( filename , writer ) ; } if ( ! trimmed ) { ResultCollector . writeFileStart ( writer ) ; } return writer ; } private static boolean trimLastLine ( String filename ) { } public static void enableFunctionalMode ( boolean mode ) { } public boolean getFunctionalMode ( ) { } private String getSerializedSampleResult ( SampleResult result ) throws IOException , ConfigurationException , SAXException { } private void readSamples ( Configuration testResults ) throws IOException , ConfigurationException , SAXException { } private Configuration getConfiguration ( String filename ) throws IOException , ConfigurationException , SAXException { } public void clearVisualizer ( ) { } public void setListener ( Object l ) { } public void sampleStarted ( SampleEvent e ) { } public void sampleStopped ( SampleEvent e ) { } public void sampleOccurred ( SampleEvent e ) { } protected void sendToVisualizer ( SampleResult r ) { } private void recordResult ( SampleResult result ) throws IOException , ConfigurationException , SAXException { } private synchronized boolean isResultMarked ( SampleResult res ) { } private void initializeFileOutput ( ) throws IOException , ConfigurationException , SAXException { } private synchronized void finalizeFileOutput ( ) { } public void testIterationStart ( LoopIterationEvent event ) { } }

Fix:
writer = new PrintWriter ( new OutputStreamWriter ( new BufferedOutputStream ( new FileOutputStream ( filename , trimmed ) ) , "UTF-8" ) , true ) ;