Program: 45162
Project: 45162
Buggy source:
@Override public boolean checkout(AbstractBuild<?,?> build,Launcher launcher,FilePath workspace,BuildListener listener,File changelogFile) throws IOException, InterruptedException {
  boolean returnValue=true;
  SimpleDateFormat scm_datetime_formatter=new SimpleDateFormat(SURROUND_DATETIME_FORMAT_STR_2);
  if (server != null)   listener.getLogger().println("String_Node_Str" + server);
  Date currentDate=new Date();
  ArgumentListBuilder cmd=new ArgumentListBuilder();
  cmd.add(getSurroundSCMExecutable());
  cmd.add("String_Node_Str");
  cmd.add("String_Node_Str");
  cmd.add("String_Node_Str");
  cmd.addMasked("String_Node_Str".concat(userName).concat("String_Node_Str").concat(password));
  cmd.add("String_Node_Str".concat(server).concat("String_Node_Str").concat(serverPort));
  cmd.add("String_Node_Str".concat(branch));
  cmd.add("String_Node_Str".concat(repository));
  cmd.add("String_Node_Str".concat(workspace.getRemote()));
  cmd.add("String_Node_Str");
  cmd.add("String_Node_Str" + scm_datetime_formatter.format(currentDate));
  int cmdResult=launcher.launch().cmds(cmd).envs(new String[0]).stdin(null).stdout(listener.getLogger()).pwd(workspace).join();
  if (cmdResult == 0) {
    final Run<?,?> lastBuild=build.getPreviousBuild();
    final Date lastBuildDate;
    if (lastBuild == null) {
      lastBuildDate=new Date();
      lastBuildDate.setTime(0);
      listener.getLogger().print("String_Node_Str");
    }
 else     lastBuildDate=lastBuild.getTimestamp().getTime();
    SurroundSCMRevisionState scmRevisionState=new SurroundSCMRevisionState(currentDate,build.getNumber());
    build.addAction(scmRevisionState);
    listener.getLogger().println("String_Node_Str" + build.getNumber() + "String_Node_Str"+ scm_datetime_formatter.format(currentDate)+ "String_Node_Str"+ pluginVersion);
    returnValue=captureChangeLog(launcher,workspace,listener,lastBuildDate,currentDate,changelogFile);
  }
 else   returnValue=false;
  listener.getLogger().println("String_Node_Str");
  return returnValue;
}

Fixed version (ground truth):
@Override public boolean checkout(AbstractBuild<?,?> build,Launcher launcher,FilePath workspace,BuildListener listener,File changelogFile) throws IOException, InterruptedException {
  boolean returnValue=true;
  SimpleDateFormat scm_datetime_formatter=new SimpleDateFormat(SURROUND_DATETIME_FORMAT_STR_2);
  if (server != null)   listener.getLogger().println("String_Node_Str" + server);
  Date currentDate=new Date();
  ArgumentListBuilder cmd=new ArgumentListBuilder();
  cmd.add(getSurroundSCMExecutable());
  cmd.add("String_Node_Str");
  cmd.add("String_Node_Str");
  cmd.add("String_Node_Str");
  cmd.addMasked("String_Node_Str".concat(userName).concat("String_Node_Str").concat(password));
  if (rsaKeyPath != null && !rsaKeyPath.isEmpty()) {
    cmd.add("String_Node_Str".concat(rsaKeyPath));
  }
 else {
    cmd.add("String_Node_Str".concat(server).concat("String_Node_Str").concat(serverPort));
  }
  cmd.add("String_Node_Str".concat(branch));
  cmd.add("String_Node_Str".concat(repository));
  cmd.add("String_Node_Str".concat(workspace.getRemote()));
  cmd.add("String_Node_Str");
  cmd.add("String_Node_Str" + scm_datetime_formatter.format(currentDate));
  int cmdResult=launcher.launch().cmds(cmd).envs(new String[0]).stdin(null).stdout(listener.getLogger()).pwd(workspace).join();
  if (cmdResult == 0) {
    final Run<?,?> lastBuild=build.getPreviousBuild();
    final Date lastBuildDate;
    if (lastBuild == null) {
      lastBuildDate=new Date();
      lastBuildDate.setTime(0);
      listener.getLogger().print("String_Node_Str");
    }
 else     lastBuildDate=lastBuild.getTimestamp().getTime();
    SurroundSCMRevisionState scmRevisionState=new SurroundSCMRevisionState(currentDate,build.getNumber());
    build.addAction(scmRevisionState);
    listener.getLogger().println("String_Node_Str" + build.getNumber() + "String_Node_Str"+ scm_datetime_formatter.format(currentDate)+ "String_Node_Str"+ pluginVersion);
    returnValue=captureChangeLog(launcher,workspace,listener,lastBuildDate,currentDate,changelogFile);
  }
 else   returnValue=false;
  listener.getLogger().println("String_Node_Str");
  return returnValue;
}