Program: 96044
Project: 96044
Buggy source:
/** 
 * Performs the moving.
 * @param tcb the TestCase-Browser.
 * @param selectionList the selected Nodes to move.
 * @param selectedProject the selected Project to move to.
 */
private void doMove(TestCaseBrowser tcb,List<INodePO> selectionList,IReusedProjectPO selectedProject){
  EntityManager sess=null;
  try {
    IProjectPO extProject=ProjectPM.loadReusedProject(selectedProject);
    sess=Persistor.instance().openSession();
    extProject=sess.find(NodeMaker.getProjectPOClass(),extProject.getId());
    List<ICapPO> moveProblem=getMoveProblem(extProject,selectionList);
    if (!moveProblem.isEmpty()) {
      ErrorHandlingUtil.createMessageDialog(MessageIDs.E_MOVE_TO_EXT_PROJ_ERROR_TOOLKITLEVEL,null,null);
      return;
    }
    ISpecObjContPO newParent=extProject.getSpecObjCont();
    List<MultipleNodePM.AbstractCmdHandle> commands=createCommands(selectionList,newParent,extProject);
    MessageInfo errorMessageInfo=MultipleNodePM.getInstance().executeCommands(commands,sess);
    if (errorMessageInfo == null) {
      GeneralStorage.getInstance().getMasterSession().refresh(GeneralStorage.getInstance().getProject().getSpecObjCont());
      tcb.getTreeViewer().refresh();
    }
 else {
      ErrorHandlingUtil.createMessageDialog(errorMessageInfo.getMessageId(),errorMessageInfo.getParams(),null);
    }
  }
 catch (  JBException e) {
    ErrorHandlingUtil.createMessageDialog(e,null,null);
  }
catch (  ToolkitPluginException tpie) {
    ErrorHandlingUtil.createMessageDialog(MessageIDs.E_GENERAL_TOOLKIT_ERROR);
  }
 finally {
    Persistor.instance().dropSession(sess);
  }
}

Fixed version (ground truth):
/** 
 * Performs the moving.
 * @param tcb the TestCase-Browser.
 * @param selectionList the selected Nodes to move.
 * @param selectedProject the selected Project to move to.
 */
private void doMove(TestCaseBrowser tcb,List<INodePO> selectionList,IReusedProjectPO selectedProject){
  EntityManager sess=null;
  try {
    IProjectPO extProject=ProjectPM.loadReusedProject(selectedProject);
    sess=Persistor.instance().openSession();
    extProject=sess.find(NodeMaker.getProjectPOClass(),extProject.getId());
    List<ICapPO> moveProblem=getMoveProblem(extProject,selectionList);
    if (!moveProblem.isEmpty()) {
      ErrorHandlingUtil.createMessageDialog(MessageIDs.E_MOVE_TO_EXT_PROJ_ERROR_TOOLKITLEVEL,null,null);
      return;
    }
    ISpecObjContPO newParent=extProject.getSpecObjCont();
    List<MultipleNodePM.AbstractCmdHandle> commands=createCommands(selectionList,newParent,extProject);
    MessageInfo errorMessageInfo=MultipleNodePM.getInstance().executeCommands(commands,sess);
    DataEventDispatcher.getInstance().fireDataChangedListener(newParent,DataState.StructureModified,UpdateState.all);
    if (errorMessageInfo == null) {
      GeneralStorage.getInstance().getMasterSession().refresh(GeneralStorage.getInstance().getProject().getSpecObjCont());
      tcb.getTreeViewer().refresh();
    }
 else {
      ErrorHandlingUtil.createMessageDialog(errorMessageInfo.getMessageId(),errorMessageInfo.getParams(),null);
    }
  }
 catch (  JBException e) {
    ErrorHandlingUtil.createMessageDialog(e,null,null);
  }
catch (  ToolkitPluginException tpie) {
    ErrorHandlingUtil.createMessageDialog(MessageIDs.E_GENERAL_TOOLKIT_ERROR);
  }
 finally {
    Persistor.instance().dropSession(sess);
  }
}