Program: 153223
Project: 153223
Buggy source:
/** 
 * This method will do the real scanning of the whole repository. It will extract all log entries as first step and go on with scanning every change set.
 * @param writer The index where the result of the scanningwill be written to.
 */
@SuppressWarnings("String_Node_Str") public void scan(IndexWriter writer){
  LOGGER.debug("String_Node_Str" + endRevision);
  try {
    LogEntryStart();
    repository.getRepository().log(new String[]{"String_Node_Str"},startRevision,endRevision,true,true,new ISVNLogEntryHandler(){
      public void handleLogEntry(      SVNLogEntry logEntry){
        logEntries.add(logEntry);
        LogEntry(logEntry);
      }
    }
);
    LogEntryStop();
  }
 catch (  SVNException svne) {
    LOGGER.error("String_Node_Str" + repository.getUrl() + "String_Node_Str"+ svne);
    return;
  }
  LOGGER.debug("String_Node_Str" + logEntries.size() + "String_Node_Str");
  scanStart(logEntries.size());
  for (Iterator entries=logEntries.iterator(); entries.hasNext(); ) {
    SVNLogEntry logEntry=(SVNLogEntry)entries.next();
    if (LOGGER.isDebugEnabled()) {
      LOGGER.debug("String_Node_Str");
      LOGGER.debug("String_Node_Str" + logEntry.getRevision());
      LOGGER.debug("String_Node_Str" + logEntry.getAuthor());
      LOGGER.debug("String_Node_Str" + logEntry.getDate());
      LOGGER.debug("String_Node_Str" + logEntry.getMessage());
    }
    if (logEntry.getChangedPaths().size() > 0) {
      LOGGER.debug("String_Node_Str");
      try {
        scanBeginRevision(logEntry.getRevision(),logEntry.getChangedPaths().size());
        workOnChangeSet(writer,repository,logEntry);
        scanEndRevision(logEntry.getRevision(),logEntry.getChangedPaths().size());
      }
 catch (      Exception e) {
        LOGGER.error("String_Node_Str" + e);
      }
    }
 else {
      LOGGER.debug("String_Node_Str");
    }
    if (isAbbort()) {
      LOGGER.warn("String_Node_Str");
      break;
    }
  }
  scanStop();
  repository.close();
}

Fixed version (ground truth):
/** 
 * This method will do the real scanning of the whole repository. It will extract all log entries as first step and go on with scanning every change set.
 * @param writer The index where the result of the scanningwill be written to.
 */
@SuppressWarnings("String_Node_Str") public void scan(IndexWriter writer){
  LOGGER.debug("String_Node_Str" + endRevision);
  try {
    LogEntryStart();
    repository.getRepository().log(new String[]{"String_Node_Str"},startRevision,endRevision,true,true,new ISVNLogEntryHandler(){
      public void handleLogEntry(      SVNLogEntry logEntry){
        logEntries.add(logEntry);
        LogEntry(logEntry);
      }
    }
);
    LogEntryStop();
  }
 catch (  SVNException svne) {
    LOGGER.error("String_Node_Str" + repository.getUrl() + "String_Node_Str",svne);
    return;
  }
  LOGGER.debug("String_Node_Str" + logEntries.size() + "String_Node_Str");
  scanStart(logEntries.size());
  for (Iterator entries=logEntries.iterator(); entries.hasNext(); ) {
    SVNLogEntry logEntry=(SVNLogEntry)entries.next();
    if (LOGGER.isDebugEnabled()) {
      LOGGER.debug("String_Node_Str");
      LOGGER.debug("String_Node_Str" + logEntry.getRevision());
      LOGGER.debug("String_Node_Str" + logEntry.getAuthor());
      LOGGER.debug("String_Node_Str" + logEntry.getDate());
      LOGGER.debug("String_Node_Str" + logEntry.getMessage());
    }
    if (logEntry.getChangedPaths().size() > 0) {
      LOGGER.debug("String_Node_Str");
      try {
        scanBeginRevision(logEntry.getRevision(),logEntry.getChangedPaths().size());
        workOnChangeSet(writer,repository,logEntry);
        scanEndRevision(logEntry.getRevision(),logEntry.getChangedPaths().size());
      }
 catch (      Exception e) {
        LOGGER.error("String_Node_Str",e);
      }
    }
 else {
      LOGGER.debug("String_Node_Str");
    }
    if (isAbbort()) {
      LOGGER.warn("String_Node_Str");
      break;
    }
  }
  scanStop();
  repository.close();
}