Program: 97396
Project: 97396
Buggy source:
@Override protected void doWork(IProgressMonitor monitor) throws Exception {
  if (destinationParentArtifact == null || sourceArtifacts == null || sourceArtifacts.isEmpty()) {
    throw new OseeArgumentException("String_Node_Str");
  }
  Branch sourceBranch=sourceArtifacts.iterator().next().getFullBranch();
  Branch destinationBranch=destinationParentArtifact.getFullBranch();
  if (isUpdateFromParent(sourceBranch,destinationBranch)) {
    Displays.ensureInDisplayThread(new Runnable(){
      @Override public void run(){
        MessageDialog.openError(Displays.getActiveShell(),ACCESS_ERROR_MSG_TITLE,UPDATE_FROM_PARENT_ERROR_MSG);
      }
    }
);
  }
 else   if (isAccessAllowed(sourceBranch,destinationBranch)) {
    Set<Artifact> transferArtifacts=getArtifactSetToTransfer();
    monitor.beginTask("String_Node_Str",2 + (transferArtifacts.size() * 4));
    final List<TransferObject> convertedArtifacts=convertToTransferObjects(transferArtifacts,destinationParentArtifact.getBranch());
    if (prompt) {
      final MutableBoolean userConfirmed=new MutableBoolean(false);
      Displays.ensureInDisplayThread(new Runnable(){
        @Override public void run(){
          userConfirmed.setValue(confirmUsersRequestAndProcess(convertedArtifacts));
        }
      }
,true);
      if (!userConfirmed.getValue()) {
        return;
      }
    }
    addArtifactsToNewTransaction(destinationParentArtifact,convertedArtifacts,sourceBranch,monitor);
  }
 else {
    Displays.ensureInDisplayThread(new Runnable(){
      @Override public void run(){
        MessageDialog.openError(Displays.getActiveShell(),ACCESS_ERROR_MSG_TITLE,ACCESS_ERROR_MSG);
      }
    }
);
  }
  monitor.done();
}

Fixed version (ground truth):
@Override protected void doWork(IProgressMonitor monitor) throws Exception {
  if (destinationParentArtifact == null || sourceArtifacts == null || sourceArtifacts.isEmpty()) {
    throw new OseeArgumentException("String_Node_Str");
  }
  Branch sourceBranch=sourceArtifacts.iterator().next().getFullBranch();
  final Branch destinationBranch=destinationParentArtifact.getFullBranch();
  if (isUpdateFromParent(sourceBranch,destinationBranch)) {
    Displays.ensureInDisplayThread(new Runnable(){
      @Override public void run(){
        MessageDialog.openError(Displays.getActiveShell(),ACCESS_ERROR_MSG_TITLE,UPDATE_FROM_PARENT_ERROR_MSG);
      }
    }
);
  }
 else   if (isAccessAllowed(sourceBranch,destinationBranch)) {
    if (prompt) {
      Displays.ensureInDisplayThread(new Runnable(){
        @Override public void run(){
          CheckBoxDialog confirm=new CheckBoxDialog(Displays.getActiveShell(),"String_Node_Str",null,"String_Node_Str" + sourceArtifacts.size() + "String_Node_Str","String_Node_Str",MessageDialog.QUESTION,0);
          if (confirm.open() == 0) {
            try {
              if (confirm.isChecked()) {
                sourceArtifacts.addAll(getRecurseChildren());
              }
              IntroduceArtifactOperation introduceOperation=new IntroduceArtifactOperation(destinationBranch);
              introduceOperation.introduce(sourceArtifacts);
            }
 catch (            OseeCoreException ex) {
              OseeLog.log(InterArtifactExplorerDropHandlerOperation.class,Level.WARNING,ex.getLocalizedMessage());
            }
          }
        }
      }
);
    }
 else {
      Displays.ensureInDisplayThread(new Runnable(){
        @Override public void run(){
          MessageDialog.openError(Displays.getActiveShell(),ACCESS_ERROR_MSG_TITLE,ACCESS_ERROR_MSG);
        }
      }
);
    }
    monitor.done();
  }
}