boolean exportSingleIdb(File idbFile, File destinationDirectory, String targetName) {
    File idaExe = ExternalAppUtils.getIdaExe(primaryIdbFile);
    if (idaExe == null || !idaExe.canExecute()) {
      var msg = "Cannot start disassembler. Please set the correct path in main settings first.";
      logger.atSevere().log("%s", msg);
      CMessageBox.showError(parentWindow, msg);
      return false;
    }

    try {
      ExportProcess.startExportProcess(idaExe, destinationDirectory, idbFile, targetName);
      return true;
    } catch (BinExportException e) {
      logger.atSevere().withCause(e).log("%s", e.getMessage());
      CMessageBox.showError(parentWindow, e.getMessage());
      deleteDestinationDirectory(destinationDirectory);
      return false;
    }
  }
Class NewDiffImplementation implements the UI flow for adding new .BinDiff results to the
workspace.
java/ui/src/main/java/com/google/security/zynamics/bindiff/gui/tabpanels/projecttabpanel/implementations/NewDiffImplementation.java