Program: 120343
Project: 120343
Buggy source:
public synchronized void init(){
  connsMap=new HashMap<String,IConnection>();
  shadowConnsMap=new HashMap<String,IConnection[]>();
  jobletNonShadowConnsMap=new HashMap<String,IConnection[]>();
  if (process != null) {
    Set<IConnection> allShadowConnections=new HashSet<IConnection>();
    Iterator<? extends INode> nodeIterator=process.getGraphicalNodes().iterator();
    while (nodeIterator.hasNext()) {
      INode node=nodeIterator.next();
      if (node.isActivate()) {
        Iterator<? extends IConnection> connIterator=node.getOutgoingConnections().iterator();
        while (connIterator.hasNext()) {
          IConnection conn=connIterator.next();
          String connectionUnifiedName=ConnectionUtil.getConnectionUnifiedName(conn);
          if (isDataConnection(conn) && !connsMap.containsKey(connectionUnifiedName)) {
            connsMap.put(connectionUnifiedName,conn);
            IConnection[] shadowConnections=getShadowConnections(conn);
            if (shadowConnections != null) {
              shadowConnsMap.put(connectionUnifiedName,shadowConnections);
              allShadowConnections.addAll(Arrays.asList(shadowConnections));
            }
          }
        }
        if (jobletService != null && jobletService.isJobletComponent(node)) {
          IConnection[] jobletConnections=jobletService.getNonShadowDataConnections(node);
          if (jobletConnections != null) {
            jobletNonShadowConnsMap.put(node.getUniqueName(),jobletConnections);
            for (            IConnection conn : jobletConnections) {
              if (!allShadowConnections.contains(conn)) {
                String jobletConnUnifiedName=ConnectionUtil.getConnectionUnifiedName(conn);
                connsMap.put(jobletConnUnifiedName,conn);
                IConnection[] shadowConnections=getShadowConnections(conn);
                if (shadowConnections != null) {
                  shadowConnsMap.put(jobletConnUnifiedName,shadowConnections);
                  allShadowConnections.addAll(Arrays.asList(shadowConnections));
                }
              }
            }
          }
        }
      }
    }
  }
}

Fixed version (ground truth):
public synchronized void init(){
  connsMap=new HashMap<String,IConnection>();
  shadowConnsMap=new HashMap<String,IConnection[]>();
  jobletNonShadowConnsMap=new HashMap<String,IConnection[]>();
  if (process != null) {
    Set<IConnection> allShadowConnections=new HashSet<IConnection>();
    Iterator<? extends INode> nodeIterator=process.getGraphicalNodes().iterator();
    while (nodeIterator.hasNext()) {
      INode node=nodeIterator.next();
      if (node.isActivate()) {
        Iterator<? extends IConnection> connIterator=node.getOutgoingConnections().iterator();
        while (connIterator.hasNext()) {
          IConnection conn=connIterator.next();
          String connectionUnifiedName=ConnectionUtil.getConnectionUnifiedName(conn);
          if (isUniqueNameConn(conn) && !connsMap.containsKey(connectionUnifiedName)) {
            connsMap.put(connectionUnifiedName,conn);
            IConnection[] shadowConnections=getShadowConnections(conn);
            if (shadowConnections != null) {
              shadowConnsMap.put(connectionUnifiedName,shadowConnections);
              allShadowConnections.addAll(Arrays.asList(shadowConnections));
            }
          }
        }
        if (jobletService != null && jobletService.isJobletComponent(node)) {
          IConnection[] jobletConnections=jobletService.getNonShadowDataConnections(node);
          if (jobletConnections != null) {
            jobletNonShadowConnsMap.put(node.getUniqueName(),jobletConnections);
            for (            IConnection conn : jobletConnections) {
              if (!allShadowConnections.contains(conn)) {
                String jobletConnUnifiedName=ConnectionUtil.getConnectionUnifiedName(conn);
                connsMap.put(jobletConnUnifiedName,conn);
                IConnection[] shadowConnections=getShadowConnections(conn);
                if (shadowConnections != null) {
                  shadowConnsMap.put(jobletConnUnifiedName,shadowConnections);
                  allShadowConnections.addAll(Arrays.asList(shadowConnections));
                }
              }
            }
          }
        }
      }
    }
  }
}