Program: 72290
Project: 72290
Buggy source:
private void fullBuildTemporaryHTMLFilesAndShowAfter(){
  String htmlInternalPreview=null;
  String htmlExternalBrowser=null;
  try {
    safeAsyncExec(() -> AsciiDoctorEditorUtil.removeScriptErrors(AsciiDoctorEditor.this));
    File editorFile=getEditorFile();
    String content=null;
    File fileToConvertIntoHTML=null;
    if (editorFile == null) {
      String asciiDoc=getDocumentText();
      fileToConvertIntoHTML=resolveFileToConvertToHTMLAndConvertBeforeWhenNecessary(asciiDoc);
    }
 else {
      fileToConvertIntoHTML=resolveFileToConvertToHTMLAndConvertBeforeWhenNecessary(editorFile);
    }
    if (fileToConvertIntoHTML == null) {
      return;
    }
    asciidoctorWrapper.convertToHTML(fileToConvertIntoHTML);
    content=readFileCreatedByAsciiDoctor(fileToConvertIntoHTML);
    int refreshAutomaticallyInSeconds=AsciiDoctorEditorPreferences.getInstance().getAutoRefreshInSecondsForExternalBrowser();
    htmlInternalPreview=asciidoctorWrapper.buildHTMLWithCSS(content,0);
    htmlExternalBrowser=asciidoctorWrapper.buildHTMLWithCSS(content,refreshAutomaticallyInSeconds);
    try {
      AsciiDocStringUtils.writeTextToUTF8File(htmlInternalPreview,temporaryInternalPreviewFile);
      AsciiDocStringUtils.writeTextToUTF8File(htmlExternalBrowser,temporaryExternalPreviewFile);
    }
 catch (    IOException e1) {
      AsciiDoctorEditorUtil.logError("String_Node_Str",e1);
    }
  }
 catch (  Throwable e) {
    StringBuilder htmlSb=new StringBuilder();
    htmlSb.append("String_Node_Str");
    if (e.getClass().getName().startsWith("String_Node_Str")) {
      htmlSb.append("String_Node_Str");
    }
 else {
      htmlSb.append("String_Node_Str");
    }
    htmlSb.append("String_Node_Str");
    safeAsyncExec(() -> {
      String errorMessage=e.getClass().getSimpleName() + "String_Node_Str" + SimpleExceptionUtils.getRootMessage(e);
      AsciiDoctorErrorBuilder builder=new AsciiDoctorErrorBuilder();
      AsciiDoctorError error=builder.build(errorMessage);
      browserAccess.safeBrowserSetText(htmlSb.toString());
      AsciiDoctorEditorUtil.addScriptError(AsciiDoctorEditor.this,-1,error,IMarker.SEVERITY_ERROR);
      AsciiDoctorEditorUtil.logError("String_Node_Str" + e.getMessage(),e);
    }
);
  }
}

Fixed version (ground truth):
private void fullBuildTemporaryHTMLFilesAndShowAfter(){
  String htmlInternalPreview=null;
  String htmlExternalBrowser=null;
  try {
    safeAsyncExec(() -> AsciiDoctorEditorUtil.removeScriptErrors(AsciiDoctorEditor.this));
    File editorFileOrNull=getEditorFileOrNull();
    String content=null;
    File fileToConvertIntoHTML=null;
    if (editorFileOrNull == null) {
      String asciiDoc=getDocumentText();
      fileToConvertIntoHTML=resolveFileToConvertToHTMLAndConvertBeforeWhenNecessary(asciiDoc);
    }
 else {
      fileToConvertIntoHTML=resolveFileToConvertToHTMLAndConvertBeforeWhenNecessary(editorFileOrNull);
    }
    if (fileToConvertIntoHTML == null) {
      return;
    }
    asciidoctorWrapper.convertToHTML(fileToConvertIntoHTML);
    content=readFileCreatedByAsciiDoctor(fileToConvertIntoHTML);
    int refreshAutomaticallyInSeconds=AsciiDoctorEditorPreferences.getInstance().getAutoRefreshInSecondsForExternalBrowser();
    htmlInternalPreview=asciidoctorWrapper.buildHTMLWithCSS(content,0);
    htmlExternalBrowser=asciidoctorWrapper.buildHTMLWithCSS(content,refreshAutomaticallyInSeconds);
    try {
      AsciiDocStringUtils.writeTextToUTF8File(htmlInternalPreview,temporaryInternalPreviewFile);
      AsciiDocStringUtils.writeTextToUTF8File(htmlExternalBrowser,temporaryExternalPreviewFile);
    }
 catch (    IOException e1) {
      AsciiDoctorEditorUtil.logError("String_Node_Str",e1);
    }
  }
 catch (  Throwable e) {
    StringBuilder htmlSb=new StringBuilder();
    htmlSb.append("String_Node_Str");
    if (e.getClass().getName().startsWith("String_Node_Str")) {
      htmlSb.append("String_Node_Str");
    }
 else {
      htmlSb.append("String_Node_Str");
    }
    htmlSb.append("String_Node_Str");
    safeAsyncExec(() -> {
      String errorMessage=e.getClass().getSimpleName() + "String_Node_Str" + SimpleExceptionUtils.getRootMessage(e);
      AsciiDoctorErrorBuilder builder=new AsciiDoctorErrorBuilder();
      AsciiDoctorError error=builder.build(errorMessage);
      browserAccess.safeBrowserSetText(htmlSb.toString());
      AsciiDoctorEditorUtil.addScriptError(AsciiDoctorEditor.this,-1,error,IMarker.SEVERITY_ERROR);
      AsciiDoctorEditorUtil.logError("String_Node_Str" + e.getMessage(),e);
    }
);
  }
}