private void deleteDestinationDirectory(File destinationDirectory) {
    try {
      BinDiffFileUtils.deleteDirectory(destinationDirectory);
    } catch (IOException e) {
      logger.atSevere().withCause(e).log(
          "Couldn't delete diff folder '%s' after exporting failed",
          destinationDirectory.getPath());
      CMessageBox.showWarning(
          parentWindow,
          String.format(
              "Couldn't delete diff folder '%s' after exporting failed.\n"
                  + "Please delete this folder manually.",
              destinationDirectory.getPath()));
    }
  }
Directory diffing thread implementation that displays visual progress.
java/ui/src/main/java/com/google/security/zynamics/bindiff/gui/tabpanels/projecttabpanel/implementations/DirectoryDiffImplementation.java