Program: 117910
Project: 117910
Buggy source:
@SuppressWarnings("String_Node_Str") public INode buildNodeFromNode(final INode graphicalNode,final IProcess process){
  if (buildCheckMap == null) {
    initialize();
  }
  if (buildGraphicalMap.containsKey(graphicalNode)) {
    return (INode)buildGraphicalMap.get(graphicalNode);
  }
  IComponent component=graphicalNode.getComponent();
  Node newGraphicalNode=null;
  if (EComponentType.GENERIC.equals(component.getComponentType())) {
    newGraphicalNode=new Node(graphicalNode,(IProcess2)process);
  }
 else {
    newGraphicalNode=new Node(graphicalNode.getComponent(),(IProcess2)process);
  }
  newGraphicalNode.setMetadataList(graphicalNode.getMetadataList());
  IExternalNode externalNode=graphicalNode.getExternalNode();
  IExternalData externalData=graphicalNode.getExternalData();
  if (externalNode != null) {
    if (externalData != null) {
      newGraphicalNode.getExternalNode().setExternalData(externalData);
    }
    newGraphicalNode.getExternalNode().setExternalEmfData(externalNode.getExternalEmfData());
    newGraphicalNode.getExternalNode().setInternalMapperModel(externalNode.getInternalMapperModel());
  }
  copyElementParametersValue(graphicalNode,newGraphicalNode);
  if (newGraphicalNode.getComponentProperties() != null) {
    List<Form> forms=newGraphicalNode.getComponentProperties().getForms();
    for (    Form form : forms) {
      newGraphicalNode.getComponentProperties().refreshLayout(form);
    }
  }
  newGraphicalNode.setDummy(graphicalNode.isDummy());
  ValidationRulesUtil.createRejectConnector(newGraphicalNode);
  ValidationRulesUtil.updateRejectMetatable(newGraphicalNode,graphicalNode);
  NodeContainer nc=((Process)process).loadNodeContainer(newGraphicalNode,false);
  ((Process)process).addNodeContainer(nc);
  buildGraphicalMap.put(graphicalNode,newGraphicalNode);
  IConnection dataConnec;
  for (  IConnection connection : (List<IConnection>)graphicalNode.getOutgoingConnections()) {
    if (!connection.isActivate()) {
      continue;
    }
    INode connTarget=connection.getTarget();
    if (connTarget.getJobletNode() != null) {
      connTarget=connTarget.getJobletNode();
    }
    INode target=buildNodeFromNode(connTarget,process);
    dataConnec=new Connection(newGraphicalNode,target,connection.getLineStyle(),connection.getConnectorName(),connection.getMetaName(),connection.getName(),connection.getUniqueName(),connection.isMonitorConnection());
    copyElementParametersValue(connection,dataConnec);
    dataConnec.setTraceConnection(connection.isTraceConnection());
  }
  newGraphicalNode.setActivate(graphicalNode.isActivate());
  newGraphicalNode.setStart(graphicalNode.isStart());
  newGraphicalNode.setComponentProperties(graphicalNode.getComponentProperties());
  return newGraphicalNode;
}

Fixed version (ground truth):
@SuppressWarnings("String_Node_Str") public INode buildNodeFromNode(final INode graphicalNode,final IProcess process){
  if (buildCheckMap == null) {
    initialize();
  }
  if (buildGraphicalMap.containsKey(graphicalNode)) {
    return (INode)buildGraphicalMap.get(graphicalNode);
  }
  IComponent component=graphicalNode.getComponent();
  Node newGraphicalNode=null;
  if (EComponentType.GENERIC.equals(component.getComponentType())) {
    newGraphicalNode=new Node(graphicalNode,(IProcess2)process);
  }
 else {
    newGraphicalNode=new Node(graphicalNode.getComponent(),(IProcess2)process);
  }
  newGraphicalNode.setMetadataList(graphicalNode.getMetadataList());
  IExternalNode externalNode=graphicalNode.getExternalNode();
  IExternalData externalData=graphicalNode.getExternalData();
  if (externalNode != null) {
    if (externalData != null) {
      newGraphicalNode.getExternalNode().setExternalData(externalData);
    }
    newGraphicalNode.getExternalNode().setExternalEmfData(externalNode.getExternalEmfData());
    newGraphicalNode.getExternalNode().setInternalMapperModel(externalNode.getInternalMapperModel());
  }
  copyElementParametersValue(graphicalNode,newGraphicalNode);
  newGraphicalNode.setDummy(graphicalNode.isDummy());
  ValidationRulesUtil.createRejectConnector(newGraphicalNode);
  ValidationRulesUtil.updateRejectMetatable(newGraphicalNode,graphicalNode);
  NodeContainer nc=((Process)process).loadNodeContainer(newGraphicalNode,false);
  ((Process)process).addNodeContainer(nc);
  buildGraphicalMap.put(graphicalNode,newGraphicalNode);
  IConnection dataConnec;
  for (  IConnection connection : (List<IConnection>)graphicalNode.getOutgoingConnections()) {
    if (!connection.isActivate()) {
      continue;
    }
    INode connTarget=connection.getTarget();
    if (connTarget.getJobletNode() != null) {
      connTarget=connTarget.getJobletNode();
    }
    INode target=buildNodeFromNode(connTarget,process);
    dataConnec=new Connection(newGraphicalNode,target,connection.getLineStyle(),connection.getConnectorName(),connection.getMetaName(),connection.getName(),connection.getUniqueName(),connection.isMonitorConnection());
    copyElementParametersValue(connection,dataConnec);
    dataConnec.setTraceConnection(connection.isTraceConnection());
  }
  newGraphicalNode.setActivate(graphicalNode.isActivate());
  newGraphicalNode.setStart(graphicalNode.isStart());
  return newGraphicalNode;
}