Buggy code:
public static boolean waitFor ( File file , int seconds ) { } public static String readFileToString ( File file , Charset encoding ) throws IOException { } public static String readFileToString ( File file , String encoding ) throws IOException { } public static String readFileToString ( File file ) throws IOException { } public static byte [ ] readFileToByteArray ( File file ) throws IOException { } public static List < String > readLines ( File file , Charset encoding ) throws IOException { } public static List < String > readLines ( File file , String encoding ) throws IOException { } public static List < String > readLines ( File file ) throws IOException { } public static LineIterator lineIterator ( File file , String encoding ) throws IOException { } public static LineIterator lineIterator ( File file ) throws IOException { } public static void writeStringToFile ( File file , String data , Charset encoding ) throws IOException { } public static void writeStringToFile ( File file , String data , String encoding ) throws IOException { } public static void writeStringToFile ( File file , String data , Charset encoding , boolean append ) throws IOException { } public static void writeStringToFile ( File file , String data , String encoding , boolean append ) throws IOException { } public static void writeStringToFile ( File file , String data ) throws IOException { } public static void writeStringToFile ( File file , String data , boolean append ) throws IOException { } public static void write ( File file , CharSequence data ) throws IOException { } public static void write ( File file , CharSequence data , boolean append ) throws IOException { } public static void write ( File file , CharSequence data , Charset encoding ) throws IOException { } public static void write ( File file , CharSequence data , String encoding ) throws IOException { } public static void write ( File file , CharSequence data , Charset encoding , boolean append ) throws IOException { } public static void write ( File file , CharSequence data , String encoding , boolean append ) throws IOException { } public static void writeByteArrayToFile ( File file , byte [ ] data ) throws IOException { } public static void writeByteArrayToFile ( File file , byte [ ] data , boolean append ) throws IOException { } public static void writeLines ( File file , String encoding , Collection < ? > lines ) throws IOException { } public static void writeLines ( File file , String encoding , Collection < ? > lines , boolean append ) throws IOException { } public static void writeLines ( File file , Collection < ? > lines ) throws IOException { } public static void writeLines ( File file , Collection < ? > lines , boolean append ) throws IOException { } public static void writeLines ( File file , String encoding , Collection < ? > lines , String lineEnding ) throws IOException { } public static void writeLines ( File file , String encoding , Collection < ? > lines , String lineEnding , boolean append ) throws IOException { } public static void writeLines ( File file , Collection < ? > lines , String lineEnding ) throws IOException { } public static void writeLines ( File file , Collection < ? > lines , String lineEnding , boolean append ) throws IOException { } public static void forceDelete ( File file ) throws IOException { } public static void forceDeleteOnExit ( File file ) throws IOException { } private static void deleteDirectoryOnExit ( File directory ) throws IOException { } private static void cleanDirectoryOnExit ( File directory ) throws IOException { } public static void forceMkdir ( File directory ) throws IOException { } public static long sizeOf ( File file ) { } public static BigInteger sizeOfAsBigInteger ( File file ) { } public static long sizeOfDirectory ( File directory ) { } public static BigInteger sizeOfDirectoryAsBigInteger ( File directory ) { FileUtils . checkDirectory ( directory ) ; final File [ ] files = directory . listFiles ( ) ; if ( files == null ) { return BigInteger . ZERO ; } BigInteger size = BigInteger . ZERO ; for ( final File file : files ) { try { if ( ! ( FileUtils . isSymlink ( file ) ) ) { <START_BUG> size . add ( BigInteger . valueOf ( FileUtils . sizeOf ( file ) ) ) ; <END_BUG> } } catch ( IOException ioe ) { } } return size ; } private static void checkDirectory ( File directory ) { } public static boolean isFileNewer ( File file , File reference ) { } public static boolean isFileNewer ( File file , Date date ) { } public static boolean isFileNewer ( File file , long timeMillis ) { } public static boolean isFileOlder ( File file , File reference ) { } public static boolean isFileOlder ( File file , Date date ) { } public static boolean isFileOlder ( File file , long timeMillis ) { } public static long checksumCRC32 ( File file ) throws IOException { } public static Checksum checksum ( File file , Checksum checksum ) throws IOException { } public static void moveDirectory ( File srcDir , File destDir ) throws IOException { } public static void moveDirectoryToDirectory ( File src , File destDir , boolean createDestDir ) throws IOException { } public static void moveFile ( File srcFile , File destFile ) throws IOException { } public static void moveFileToDirectory ( File srcFile , File destDir , boolean createDestDir ) throws IOException { } public static void moveToDirectory ( File src , File destDir , boolean createDestDir ) throws IOException { } public static boolean isSymlink ( File file ) throws IOException { } }

Fix:
size = size . add ( BigInteger . valueOf ( FileUtils . sizeOf ( file ) ) ) ;