public void compareDirectory( final File sourceDirectory, final File referenceDir, final File failedDirectory) throws IOException { checkDirectories(sourceDirectory, referenceDir, failedDirectory); log("Starting comparison using width " + width); IOUtil.deleteAllFiles(failedDirectory); final boolean wasEnabled = enableLogging(false); try { final Iterator<File> fileIt = listSourceFiles(sourceDirectory); final CompareStatistics stats = new CompareStatistics(); while (fileIt.hasNext()) { final File file = (File) fileIt.next(); try { compareFile(file, referenceDir, failedDirectory, stats); } catch (final IOException e) { stats.failedIOException(e); } } stats.report(); } finally { enableLogging(wasEnabled); } }