Program: 148223
Project: 148223
Buggy source:
private void copyXObjectContent(String oldXObjectPk,String newXObjectPk,String revisionID,int xobjectType){
switch (xobjectType) {
case TreeObject.DATA_CLUSTER:
    try {
      WSItemPKsByCriteriaResponseResults[] results=destPort.getItemPKsByCriteria(new WSGetItemPKsByCriteria(new WSDataClusterPK(oldXObjectPk),null,null,null,(long)-1,(long)-1,0,Integer.MAX_VALUE)).getResults();
      ArrayList<String> conceptList=new ArrayList<String>();
      WSConceptRevisionMapMapEntry[] wsConceptRevisionMapMapEntries=destPort.getConceptsInDataClusterWithRevisions(new WSGetConceptsInDataClusterWithRevisions(new WSDataClusterPK(oldXObjectPk),new WSUniversePK(revisionID))).getMapEntry();
      for (      WSConceptRevisionMapMapEntry entry : wsConceptRevisionMapMapEntries) {
        conceptList.add(entry.getConcept());
      }
      MDMXSDSchemaEntryDialog dlg=new MDMXSDSchemaEntryDialog(this.view.getSite().getShell(),"String_Node_Str");
      dlg.create();
      dlg.retrieveDataModels(conceptList,true);
      dlg.setOKButton(true);
      dlg.setBlockOnOpen(true);
      dlg.open();
      if (dlg.getReturnCode() == Window.OK) {
        for (        WSItemPKsByCriteriaResponseResults result : results) {
          if (dlg.getMDMDataModelUrls().contains(result.getWsItemPK().getConceptName())) {
            WSSynchronizationGetItemXML getItemXML=new WSSynchronizationGetItemXML(revisionID,result.getWsItemPK());
            WSString xmlForm=destPort.synchronizationGetItemXML(getItemXML);
            Document doc=Util.parse(xmlForm.getValue());
            NodeList clusterNameList=Util.getNodeList(doc,"String_Node_Str");
            for (int i=0; i < clusterNameList.getLength(); i++) {
              Node node=clusterNameList.item(i);
              node.setTextContent(newXObjectPk);
            }
            WSSynchronizationPutItemXML putItemXML=new WSSynchronizationPutItemXML(revisionID,Util.nodeToString(doc));
            destPort.synchronizationPutItemXML(putItemXML);
          }
        }
      }
    }
 catch (    Exception e) {
      log.error(e.getMessage(),e);
    }
  break;
default :
}
}

Fixed version (ground truth):
private void copyXObjectContent(String oldXObjectPk,String newXObjectPk,String revisionID,int xobjectType){
switch (xobjectType) {
case TreeObject.DATA_CLUSTER:
    try {
      WSItemPKsByCriteriaResponseResults[] results=destPort.getItemPKsByCriteria(new WSGetItemPKsByCriteria(new WSDataClusterPK(oldXObjectPk),null,null,null,(long)-1,(long)-1,0,Integer.MAX_VALUE)).getResults();
      ArrayList<String> conceptList=new ArrayList<String>();
      WSConceptRevisionMapMapEntry[] wsConceptRevisionMapMapEntries=destPort.getConceptsInDataClusterWithRevisions(new WSGetConceptsInDataClusterWithRevisions(new WSDataClusterPK(oldXObjectPk),new WSUniversePK(revisionID))).getMapEntry();
      for (      WSConceptRevisionMapMapEntry entry : wsConceptRevisionMapMapEntries) {
        conceptList.add(entry.getConcept());
      }
      MDMXSDSchemaEntryDialog dlg=new MDMXSDSchemaEntryDialog(this.view.getSite().getShell(),"String_Node_Str");
      dlg.create();
      dlg.retrieveDataModels(conceptList,true);
      dlg.setOKButton(true);
      dlg.setBlockOnOpen(true);
      dlg.open();
      if (dlg.getReturnCode() == Window.OK) {
        for (        WSItemPKsByCriteriaResponseResults result : results) {
          if (dlg.getMDMDataModelUrls().contains(result.getWsItemPK().getConceptName())) {
            WSItem item=destPort.getItem(new WSGetItem(result.getWsItemPK()));
            destPort.putItem(new WSPutItem(new WSDataClusterPK(newXObjectPk),item.getContent(),new WSDataModelPK(item.getDataModelName()),false));
          }
        }
      }
    }
 catch (    Exception e) {
      log.error(e.getMessage(),e);
    }
  break;
default :
}
}