Program: 125007
Project: 125007
Buggy source:
protected HDFSConnectionBean getHDFSConnectionBean(){
  INode node=(INode)elem;
  String useExistingConnection=ElementParameterParser.getValue(elem,"String_Node_Str");
  if ("String_Node_Str".equalsIgnoreCase(useExistingConnection)) {
    String connectionName=ElementParameterParser.getValue(node,"String_Node_Str");
    List<? extends INode> nodes=node.getProcess().getGraphicalNodes();
    for (    INode iNode : nodes) {
      if (iNode.getUniqueName().equals(connectionName)) {
        node=iNode;
        break;
      }
    }
  }
  String distribution=(String)getParameterValue(node,EHadoopParameter.DISTRIBUTION.getName());
  String version=(String)getParameterValue(node,EHadoopParameter.VERSION.getName());
  String nameNodeUri=(String)getParameterValue(node,EHadoopParameter.NAMENODE_URI.getName());
  String userName=(String)getParameterValue(node,EHadoopParameter.USERNAME.getName());
  Boolean useKrb=(Boolean)getParameterValue(node,EHadoopParameter.USE_KRB.getName());
  String principal=(String)getParameterValue(node,EHadoopParameter.NAMENODE_PRINCIPAL.getName());
  String group=(String)getParameterValue(node,EHadoopParameter.GROUP.getName());
  HDFSConnectionBean connectionBean=new HDFSConnectionBean();
  connectionBean.setDistribution(distribution);
  String drivers=(String)node.getPropertyValue(EHDFSRepositoryToComponent.DB_VERSION.getParameterName());
  if (drivers != null) {
    connectionBean.setDfVersion(EHadoopVersion4Drivers.getVersionByDriverStrs(drivers));
    connectionBean.setDfDrivers(drivers);
  }
 else {
    connectionBean.setDfVersion(version);
    StringBuffer driversBuffer=new StringBuffer();
    List<ModuleNeeded> moduleList=node.getModulesNeeded();
    for (    ModuleNeeded module : moduleList) {
      if (module.isRequired(node.getElementParameters())) {
        driversBuffer.append(module.getModuleName()).append("String_Node_Str");
      }
    }
    if (driversBuffer.length() > 0) {
      driversBuffer.deleteCharAt(driversBuffer.length() - 1);
    }
    connectionBean.setDfDrivers(driversBuffer.toString());
  }
  connectionBean.setNameNodeURI(nameNodeUri);
  connectionBean.setUserName(userName);
  connectionBean.setEnableKerberos(useKrb);
  connectionBean.setPrincipal(principal);
  connectionBean.setGroup(group);
  return connectionBean;
}

Fixed version (ground truth):
protected HDFSConnectionBean getHDFSConnectionBean(){
  INode node=(INode)elem;
  String useExistingConnection=ElementParameterParser.getValue(elem,"String_Node_Str");
  if ("String_Node_Str".equalsIgnoreCase(useExistingConnection)) {
    String connectionName=ElementParameterParser.getValue(node,"String_Node_Str");
    List<? extends INode> nodes=node.getProcess().getGeneratingNodes();
    for (    INode iNode : nodes) {
      if (iNode.getUniqueName().equals(connectionName)) {
        node=iNode;
        break;
      }
    }
  }
  String distribution=(String)getParameterValue(node,EHadoopParameter.DISTRIBUTION.getName());
  String version=(String)getParameterValue(node,EHadoopParameter.VERSION.getName());
  String nameNodeUri=(String)getParameterValue(node,EHadoopParameter.NAMENODE_URI.getName());
  String userName=(String)getParameterValue(node,EHadoopParameter.USERNAME.getName());
  Boolean useKrb=(Boolean)getParameterValue(node,EHadoopParameter.USE_KRB.getName());
  String principal=(String)getParameterValue(node,EHadoopParameter.NAMENODE_PRINCIPAL.getName());
  String group=(String)getParameterValue(node,EHadoopParameter.GROUP.getName());
  HDFSConnectionBean connectionBean=new HDFSConnectionBean();
  connectionBean.setDistribution(distribution);
  String drivers=null;
  String oldVersionParamName=EHDFSRepositoryToComponent.DB_VERSION.getParameterName();
  if (node instanceof DataNode) {
    DataNode dataNode=(DataNode)node;
    IElementParameter parameter=dataNode.getElementParameter(oldVersionParamName);
    if (parameter != null) {
      drivers=(String)parameter.getValue();
    }
  }
 else {
    drivers=(String)node.getPropertyValue(oldVersionParamName);
  }
  if (drivers != null) {
    connectionBean.setDfVersion(EHadoopVersion4Drivers.getVersionByDriverStrs(drivers));
    connectionBean.setDfDrivers(drivers);
  }
 else {
    connectionBean.setDfVersion(version);
    StringBuffer driversBuffer=new StringBuffer();
    List<ModuleNeeded> moduleList=node.getModulesNeeded();
    for (    ModuleNeeded module : moduleList) {
      if (module.isRequired(node.getElementParameters())) {
        driversBuffer.append(module.getModuleName()).append("String_Node_Str");
      }
    }
    if (driversBuffer.length() > 0) {
      driversBuffer.deleteCharAt(driversBuffer.length() - 1);
    }
    connectionBean.setDfDrivers(driversBuffer.toString());
  }
  connectionBean.setNameNodeURI(nameNodeUri);
  connectionBean.setUserName(userName);
  connectionBean.setEnableKerberos(useKrb);
  connectionBean.setPrincipal(principal);
  connectionBean.setGroup(group);
  return connectionBean;
}