Program: 161180
Project: 161180
Buggy source:
@Override public void write(final IndexWriter indexWriter,final TaxonomyWriter taxonomyWriter) throws IOException {
  final Set<String> todaysIndexedFiles=Sets.newHashSet(Iterables.transform(logFileIndex.searchByDate(LocalDate.now()),new Function<LoggedUpdate,String>(){
    @Override public String apply(    final LoggedUpdate input){
      return input.getUpdateId();
    }
  }
));
  final String todaysFolder=LogFileIndex.DATE_FORMATTER.print(LocalDate.now());
  try {
    Files.walkFileTree(Paths.get(logDirectory),new SimpleFileVisitor<Path>(){
      @Override public FileVisitResult preVisitDirectory(      final Path dir,      final BasicFileAttributes attrs) throws IOException {
        if (dir.getFileName().toString().equals(todaysFolder)) {
          new DailyLogFolder(dir).processLoggedFiles(new LoggedUpdateProcessor<DailyLogEntry>(){
            @Override public boolean accept(            DailyLogEntry dailyLogEntry){
              return INDEXED_LOG_ENTRIES.matcher(dailyLogEntry.getUpdateId()).matches() && !todaysIndexedFiles.contains(dailyLogEntry.getUpdateId());
            }
            @Override public void process(            DailyLogEntry dailyLogEntry,            String contents){
              LogFileIndex.addToIndex(dailyLogEntry,contents,indexWriter);
            }
          }
);
          return FileVisitResult.SKIP_SUBTREE;
        }
        return FileVisitResult.CONTINUE;
      }
      @Override public FileVisitResult visitFileFailed(      Path file,      IOException e){
        LOGGER.info("String_Node_Str",file.toAbsolutePath(),e.getMessage());
        return FileVisitResult.CONTINUE;
      }
    }
);
  }
 catch (  IOException e) {
    LOGGER.error(e.getMessage(),e);
  }
}

Fixed version (ground truth):
@Override public void write(final IndexWriter indexWriter,final TaxonomyWriter taxonomyWriter) throws IOException {
  final Set<String> todaysIndexedFiles=Sets.newHashSet(Iterables.transform(logFileIndex.searchByDate(LocalDate.now()),new Function<LoggedUpdate,String>(){
    @Override public String apply(    final LoggedUpdate input){
      return input.getUpdateId();
    }
  }
));
  final String todaysFolder=LogFileIndex.DATE_FORMATTER.print(LocalDate.now());
  try {
    Files.walkFileTree(Paths.get(logDirectory),new SimpleFileVisitor<Path>(){
      @Override public FileVisitResult preVisitDirectory(      final Path dir,      final BasicFileAttributes attrs) throws IOException {
        if (dir.getFileName().toString().equals(todaysFolder)) {
          new DailyLogFolder(dir).processLoggedFiles(new LoggedUpdateProcessor<DailyLogEntry>(){
            @Override public boolean accept(            DailyLogEntry dailyLogEntry){
              return INDEXED_LOG_ENTRIES.matcher(dailyLogEntry.getUpdateId()).matches() && !todaysIndexedFiles.contains(dailyLogEntry.getUpdateId());
            }
            @Override public void process(            DailyLogEntry dailyLogEntry,            String contents){
              LogFileIndex.addToIndex(dailyLogEntry,contents,indexWriter);
            }
          }
);
          return FileVisitResult.SKIP_SUBTREE;
        }
        return FileVisitResult.CONTINUE;
      }
      @Override public FileVisitResult visitFileFailed(      Path file,      IOException e){
        LOGGER.info("String_Node_Str",file.toAbsolutePath(),e.getMessage());
        return FileVisitResult.CONTINUE;
      }
    }
);
  }
 catch (  FileSystemException e) {
    if (!e.getReason().equals("String_Node_Str")) {
      LOGGER.error(e.getMessage(),e);
    }
  }
catch (  IOException e) {
    LOGGER.error(e.getMessage(),e);
  }
}