Buggy code:
static final int BUF_SIZE = 8192 ; public static final long FAT_FILE_TIMESTAMP_GRANULARITY = 2000 ; public static final long UNIX_FILE_TIMESTAMP_GRANULARITY = 1000 ; public static final long NTFS_FILE_TIMESTAMP_GRANULARITY = 1 ; private Object cacheFromUriLock = new Object ( ) ; private String cacheFromUriRequest = null ; private String cacheFromUriResponse = null ; public static FileUtils newFileUtils ( ) { } public static FileUtils getFileUtils ( ) { } protected FileUtils ( ) { } public URL getFileURL ( File file ) throws MalformedURLException { } public void copyFile ( String sourceFile , String destFile ) throws IOException { } public void copyFile ( String sourceFile , String destFile , FilterSetCollection filters ) throws IOException { } public void copyFile ( String sourceFile , String destFile , FilterSetCollection filters , boolean overwrite ) throws IOException { } public void copyFile ( String sourceFile , String destFile , FilterSetCollection filters , boolean overwrite , boolean preserveLastModified ) throws IOException { } public void copyFile ( String sourceFile , String destFile , FilterSetCollection filters , boolean overwrite , boolean preserveLastModified , String encoding ) throws IOException { } public void copyFile ( String sourceFile , String destFile , FilterSetCollection filters , Vector filterChains , boolean overwrite , boolean preserveLastModified , String encoding , Project project ) throws IOException { } public void copyFile ( String sourceFile , String destFile , FilterSetCollection filters , Vector filterChains , boolean overwrite , boolean preserveLastModified , String inputEncoding , String outputEncoding , Project project ) throws IOException { } public void copyFile ( File sourceFile , File destFile ) throws IOException { } public void copyFile ( File sourceFile , File destFile , FilterSetCollection filters ) throws IOException { } public void copyFile ( File sourceFile , File destFile , FilterSetCollection filters , boolean overwrite ) throws IOException { } public void copyFile ( File sourceFile , File destFile , FilterSetCollection filters , boolean overwrite , boolean preserveLastModified ) throws IOException { } public void copyFile ( File sourceFile , File destFile , FilterSetCollection filters , boolean overwrite , boolean preserveLastModified , String encoding ) throws IOException { } public void copyFile ( File sourceFile , File destFile , FilterSetCollection filters , Vector filterChains , boolean overwrite , boolean preserveLastModified , String encoding , Project project ) throws IOException { } public void copyFile ( File sourceFile , File destFile , FilterSetCollection filters , Vector filterChains , boolean overwrite , boolean preserveLastModified , String inputEncoding , String outputEncoding , Project project ) throws IOException { } public void setFileLastModified ( File file , long time ) { } public File resolveFile ( File file , String filename ) { } public static boolean isContextRelativePath ( String filename ) { } public static boolean isAbsolutePath ( String filename ) { } public static String translatePath ( String toProcess ) { } public File normalize ( final String path ) { } public String [ ] dissect ( String path ) { } public String toVMSPath ( File f ) { } public File createTempFile ( String prefix , String suffix , File parentDir ) { } public File createTempFile ( String prefix , String suffix , File parentDir , boolean deleteOnExit ) { } public boolean contentEquals ( File f1 , File f2 ) throws IOException { } public boolean contentEquals ( File f1 , File f2 , boolean textfile ) throws IOException { } public File getParentFile ( File f ) { } public static String readFully ( Reader rdr ) throws IOException { } public static String readFully ( Reader rdr , int bufferSize ) throws IOException { if ( bufferSize <= 0 ) { throw new IllegalArgumentException ( ( "Buffer<seq2seq4repair_space>size<seq2seq4repair_space>must<seq2seq4repair_space>be<seq2seq4repair_space>greater<seq2seq4repair_space>" + "than<seq2seq4repair_space>0" ) ) ; } final char [ ] buffer = new char [ bufferSize ] ; int bufferLength = 0 ; StringBuffer textBuffer = null ; while ( bufferLength != ( - 1 ) ) { bufferLength = rdr . read ( buffer ) ; if ( bufferLength > 0 ) { textBuffer = ( textBuffer == null ) ? new StringBuffer ( ) : textBuffer ; textBuffer . append ( new String ( buffer , 0 , bufferLength ) ) ; } } <START_BUG> return textBuffer == null ? null : textBuffer . toString ( ) ; <END_BUG> } public boolean createNewFile ( File f ) throws IOException { } public boolean createNewFile ( File f , boolean mkdirs ) throws IOException { } public boolean isSymbolicLink ( File parent , String name ) throws IOException { } public String removeLeadingPath ( File leading , File path ) { } public boolean isLeadingPath ( File leading , File path ) { } public String toURI ( String path ) { } public String fromURI ( String uri ) { } public boolean fileNameEquals ( File f1 , File f2 ) { } public void rename ( File from , File to ) throws IOException { } public long getFileTimestampGranularity ( ) { } public boolean hasErrorInCase ( File localFile ) { } public boolean isUpToDate ( File source , File dest , long granularity ) { } public boolean isUpToDate ( File source , File dest ) { } public boolean isUpToDate ( long sourceTime , long destTime , long granularity ) { } public boolean isUpToDate ( long sourceTime , long destTime ) { } public static void close ( Writer device ) { } public static void close ( Reader device ) { } public static void close ( OutputStream device ) { } public static void close ( InputStream device ) { } public static void delete ( File file ) { } public static String getRelativePath ( File fromFile , File toFile ) throws Exception { } public static String [ ] getPathStack ( String path ) { } public static String getPath ( List pathStack ) { } public static String getPath ( final List pathStack , final char separatorChar ) { }

Fix:
return textBuffer == null ? "" : textBuffer . toString ( ) ;