Program: 126427
Project: 126427
Buggy source:
/** 
 * DOC wzhang Comment method "setXmlFileValue".
 * @param connection
 * @param node
 * @param repositoryValue
 */
private static void setXmlFileValue(XmlFileConnection connection,INode node,String repositoryValue){
  if ("String_Node_Str".equals(repositoryValue)) {
    String value=getParameterValue(connection,node,"String_Node_Str");
    if (value != null) {
      connection.setXmlFilePath(value);
    }
  }
  if ("String_Node_Str".equals(repositoryValue)) {
    String value=getParameterValue(connection,node,"String_Node_Str");
    if (value != null) {
      connection.setEncoding(value);
    }
  }
  EList emfSchemaList=connection.getSchema();
  if (emfSchemaList.size() < 1) {
    emfSchemaList.add(ConnectionFactory.eINSTANCE.createXmlXPathLoopDescriptor());
  }
  XmlXPathLoopDescriptor xmlDesc=(XmlXPathLoopDescriptor)emfSchemaList.get(0);
  if ("String_Node_Str".equals(repositoryValue)) {
    String value=getParameterValue(connection,node,"String_Node_Str");
    if (value != null) {
      xmlDesc.setAbsoluteXPathQuery(value);
    }
  }
  if ("String_Node_Str".equals(repositoryValue)) {
    String value=getParameterValue(connection,node,"String_Node_Str");
    if (value != null && value.trim().length() > 0) {
      xmlDesc.setLimitBoucle(Integer.valueOf(value));
    }
  }
  if ("String_Node_Str".equals(repositoryValue)) {
    IElementParameter param=node.getElementParameter("String_Node_Str");
    if (param != null) {
      EList schemaTargets=xmlDesc.getSchemaTargets();
      List<Map<String,Object>> tableInfo=(List<Map<String,Object>>)param.getValue();
      for (      Map<String,Object> mapObject : tableInfo) {
        String schema=(String)mapObject.get("String_Node_Str");
        if (schema != null) {
          String query=(String)mapObject.get("String_Node_Str");
          SchemaTarget schemaTarget=ConnectionFactory.eINSTANCE.createSchemaTarget();
          schemaTargets.add(schemaTarget);
          schemaTarget.setTagName(schema);
          schemaTarget.setRelativeXPathQuery(TalendQuoteUtils.removeQuotes(query));
        }
      }
    }
  }
}

Fixed version (ground truth):
/** 
 * DOC wzhang Comment method "setXmlFileValue".
 * @param connection
 * @param node
 * @param repositoryValue
 */
private static void setXmlFileValue(XmlFileConnection connection,INode node,IElementParameter param){
  if ("String_Node_Str".equals(param.getRepositoryValue())) {
    String value=getParameterValue(connection,node,param);
    if (value != null) {
      connection.setXmlFilePath(value);
    }
  }
  if ("String_Node_Str".equals(param.getRepositoryValue())) {
    String value=getParameterValue(connection,node,param);
    if (value != null) {
      connection.setEncoding(value);
    }
  }
  EList emfSchemaList=connection.getSchema();
  if (emfSchemaList.size() < 1) {
    emfSchemaList.add(ConnectionFactory.eINSTANCE.createXmlXPathLoopDescriptor());
  }
  XmlXPathLoopDescriptor xmlDesc=(XmlXPathLoopDescriptor)emfSchemaList.get(0);
  if ("String_Node_Str".equals(param.getRepositoryValue())) {
    String value=getParameterValue(connection,node,param);
    if (value != null) {
      xmlDesc.setAbsoluteXPathQuery(value);
    }
  }
  if ("String_Node_Str".equals(param.getRepositoryValue())) {
    String value=getParameterValue(connection,node,node.getElementParameter("String_Node_Str"));
    if (value != null && value.trim().length() > 0) {
      xmlDesc.setLimitBoucle(Integer.valueOf(value));
    }
  }
  if ("String_Node_Str".equals(param.getRepositoryValue())) {
    if (param != null) {
      EList schemaTargets=xmlDesc.getSchemaTargets();
      List<Map<String,Object>> tableInfo=(List<Map<String,Object>>)param.getValue();
      for (      Map<String,Object> mapObject : tableInfo) {
        String schema=(String)mapObject.get("String_Node_Str");
        if (schema != null) {
          String query=(String)mapObject.get("String_Node_Str");
          SchemaTarget schemaTarget=ConnectionFactory.eINSTANCE.createSchemaTarget();
          schemaTargets.add(schemaTarget);
          schemaTarget.setTagName(schema);
          schemaTarget.setRelativeXPathQuery(TalendQuoteUtils.removeQuotes(query));
        }
      }
    }
  }
}