Source:
<code>public void run() { List<String> errorList = new ArrayList<>(); List<Content> emptyDataSources = new ArrayList<>(); try { progressMonitor.setProgressText(Bundle.AddLogicalImageTask_copyingImageFromTo(src.toString(), dest.toString())); FileUtils.copyDirectory(src, dest); progressMonitor.setProgressText(Bundle.AddLogicalImageTask_doneCopying()); } catch (IOException ex) { String msg = Bundle.AddLogicalImageTask_failedToCopyDirectory(src.toString(), dest.toString()); <START> logger.log(Level.SEVERE, msg); <END> errorList.add(msg); callback.done(DataSourceProcessorCallback.DataSourceProcessorResult.CRITICAL_ERRORS, errorList, emptyDataSources); return; } progressMonitor.setProgressText(Bundle.AddLogicalImageTask_addingToReport(ALERT_TXT)); String status = addReport(Paths.get(dest.toString(), ALERT_TXT), ALERT_TXT + " " + src.getName()); if (status != null) { errorList.add(status); callback.done(DataSourceProcessorCallback.DataSourceProcessorResult.CRITICAL_ERRORS, errorList, emptyDataSources); return; } progressMonitor.setProgressText(Bundle.AddLogicalImageTask_doneAddingToReport(ALERT_TXT)); progressMonitor.setProgressText(Bundle.AddLogicalImageTask_addingToReport(USERS_TXT)); status = addReport(Paths.get(dest.toString(), USERS_TXT), USERS_TXT + " " + src.getName()); if (status != null) { errorList.add(status); callback.done(DataSourceProcessorCallback.DataSourceProcessorResult.CRITICAL_ERRORS, errorList, emptyDataSources); return; } progressMonitor.setProgressText(Bundle.AddLogicalImageTask_doneAddingToReport(USERS_TXT)); super.run(); }</code><technical_language>Forgot put this earlier. log messages bundles - a text string. This helps diagnose problems logs. a couple of fix</technical_language>

Target:
public void run() { List<String> errorList = new ArrayList<>(); List<Content> emptyDataSources = new ArrayList<>(); try { progressMonitor.setProgressText(Bundle.AddLogicalImageTask_copyingImageFromTo(src.toString(), dest.toString())); FileUtils.copyDirectory(src, dest); progressMonitor.setProgressText(Bundle.AddLogicalImageTask_doneCopying()); } catch (IOException ex) { String msg = Bundle.AddLogicalImageTask_failedToCopyDirectory(src.toString(), dest.toString()); errorList.add(msg); logger.log(Level.SEVERE, String.format("Failed to copy directory {0} to {1}", src.toString(), dest.toString())); callback.done(DataSourceProcessorCallback.DataSourceProcessorResult.CRITICAL_ERRORS, errorList, emptyDataSources); return; } progressMonitor.setProgressText(Bundle.AddLogicalImageTask_addingToReport(ALERT_TXT)); String status = addReport(Paths.get(dest.toString(), ALERT_TXT), ALERT_TXT + " " + src.getName()); if (status != null) { errorList.add(status); callback.done(DataSourceProcessorCallback.DataSourceProcessorResult.CRITICAL_ERRORS, errorList, emptyDataSources); return; } progressMonitor.setProgressText(Bundle.AddLogicalImageTask_doneAddingToReport(ALERT_TXT)); progressMonitor.setProgressText(Bundle.AddLogicalImageTask_addingToReport(USERS_TXT)); status = addReport(Paths.get(dest.toString(), USERS_TXT), USERS_TXT + " " + src.getName()); if (status != null) { errorList.add(status); callback.done(DataSourceProcessorCallback.DataSourceProcessorResult.CRITICAL_ERRORS, errorList, emptyDataSources); return; } progressMonitor.setProgressText(Bundle.AddLogicalImageTask_doneAddingToReport(USERS_TXT)); super.run(); }