Program: 80138
Project: 80138
Buggy source:
@SuppressWarnings("String_Node_Str") private HBaseMapping readMapping(String filename) throws IOException {
  HBaseMappingBuilder mappingBuilder=new HBaseMappingBuilder();
  try {
    SAXBuilder builder=new SAXBuilder();
    Document doc=builder.build(getClass().getClassLoader().getResourceAsStream(filename));
    Element root=doc.getRootElement();
    List<Element> tableElements=root.getChildren("String_Node_Str");
    for (    Element tableElement : tableElements) {
      String tableName=tableElement.getAttributeValue("String_Node_Str");
      List<Element> fieldElements=tableElement.getChildren("String_Node_Str");
      for (      Element fieldElement : fieldElements) {
        String familyName=fieldElement.getAttributeValue("String_Node_Str");
        String compression=fieldElement.getAttributeValue("String_Node_Str");
        String blockCache=fieldElement.getAttributeValue("String_Node_Str");
        String blockSize=fieldElement.getAttributeValue("String_Node_Str");
        String bloomFilter=fieldElement.getAttributeValue("String_Node_Str");
        String maxVersions=fieldElement.getAttributeValue("String_Node_Str");
        String timeToLive=fieldElement.getAttributeValue("String_Node_Str");
        String inMemory=fieldElement.getAttributeValue("String_Node_Str");
        mappingBuilder.addFamilyProps(tableName,familyName,compression,blockCache,blockSize,bloomFilter,maxVersions,timeToLive,inMemory);
      }
    }
    List<Element> classElements=root.getChildren("String_Node_Str");
    for (    Element classElement : classElements) {
      if (classElement.getAttributeValue("String_Node_Str").equals(keyClass.getCanonicalName()) && classElement.getAttributeValue("String_Node_Str").equals(persistentClass.getCanonicalName())) {
        LOG.debug("String_Node_Str");
        String tableNameFromMapping=classElement.getAttributeValue("String_Node_Str");
        String tableName=getSchemaName(tableNameFromMapping,persistentClass);
        if (!tableName.equals(tableNameFromMapping)) {
          LOG.warn("String_Node_Str",tableNameFromMapping,tableName);
          if (tableNameFromMapping != null) {
            mappingBuilder.renameTable(tableNameFromMapping,tableName);
          }
        }
        mappingBuilder.setTableName(tableName);
        List<Element> fields=classElement.getChildren("String_Node_Str");
        for (        Element field : fields) {
          String fieldName=field.getAttributeValue("String_Node_Str");
          String family=field.getAttributeValue("String_Node_Str");
          String qualifier=field.getAttributeValue("String_Node_Str");
          mappingBuilder.addField(fieldName,family,qualifier);
          mappingBuilder.addColumnFamily(tableName,family);
        }
        break;
      }
 else {
        LOG.error("String_Node_Str");
      }
    }
  }
 catch (  MalformedURLException ex) {
    LOG.error("String_Node_Str" + "String_Node_Str" + "String_Node_Str",filename);
    LOG.error("String_Node_Str",Arrays.asList(((URLClassLoader)getClass().getClassLoader()).getURLs()));
    throw ex;
  }
catch (  IOException ex) {
    LOG.error(ex.getMessage(),ex);
    throw ex;
  }
catch (  Exception ex) {
    LOG.error(ex.getMessage(),ex);
    throw new IOException(ex);
  }
  return mappingBuilder.build();
}

Fixed version (ground truth):
@SuppressWarnings("String_Node_Str") private HBaseMapping readMapping(String filename) throws IOException {
  HBaseMappingBuilder mappingBuilder=new HBaseMappingBuilder();
  try {
    SAXBuilder builder=new SAXBuilder();
    Document doc=builder.build(getClass().getClassLoader().getResourceAsStream(filename));
    Element root=doc.getRootElement();
    List<Element> tableElements=root.getChildren("String_Node_Str");
    for (    Element tableElement : tableElements) {
      String tableName=tableElement.getAttributeValue("String_Node_Str");
      List<Element> fieldElements=tableElement.getChildren("String_Node_Str");
      for (      Element fieldElement : fieldElements) {
        String familyName=fieldElement.getAttributeValue("String_Node_Str");
        String compression=fieldElement.getAttributeValue("String_Node_Str");
        String blockCache=fieldElement.getAttributeValue("String_Node_Str");
        String blockSize=fieldElement.getAttributeValue("String_Node_Str");
        String bloomFilter=fieldElement.getAttributeValue("String_Node_Str");
        String maxVersions=fieldElement.getAttributeValue("String_Node_Str");
        String timeToLive=fieldElement.getAttributeValue("String_Node_Str");
        String inMemory=fieldElement.getAttributeValue("String_Node_Str");
        mappingBuilder.addFamilyProps(tableName,familyName,compression,blockCache,blockSize,bloomFilter,maxVersions,timeToLive,inMemory);
      }
    }
    List<Element> classElements=root.getChildren("String_Node_Str");
    boolean keyClassMatches=false;
    for (    Element classElement : classElements) {
      if (classElement.getAttributeValue("String_Node_Str").equals(keyClass.getCanonicalName()) && classElement.getAttributeValue("String_Node_Str").equals(persistentClass.getCanonicalName())) {
        LOG.debug("String_Node_Str");
        keyClassMatches=true;
        String tableNameFromMapping=classElement.getAttributeValue("String_Node_Str");
        String tableName=getSchemaName(tableNameFromMapping,persistentClass);
        if (!tableName.equals(tableNameFromMapping)) {
          LOG.warn("String_Node_Str",tableNameFromMapping,tableName);
          if (tableNameFromMapping != null) {
            mappingBuilder.renameTable(tableNameFromMapping,tableName);
          }
        }
        mappingBuilder.setTableName(tableName);
        List<Element> fields=classElement.getChildren("String_Node_Str");
        for (        Element field : fields) {
          String fieldName=field.getAttributeValue("String_Node_Str");
          String family=field.getAttributeValue("String_Node_Str");
          String qualifier=field.getAttributeValue("String_Node_Str");
          mappingBuilder.addField(fieldName,family,qualifier);
          mappingBuilder.addColumnFamily(tableName,family);
        }
        break;
      }
    }
    if (!keyClassMatches)     LOG.error("String_Node_Str");
  }
 catch (  MalformedURLException ex) {
    LOG.error("String_Node_Str" + "String_Node_Str" + "String_Node_Str",filename);
    LOG.error("String_Node_Str",Arrays.asList(((URLClassLoader)getClass().getClassLoader()).getURLs()));
    throw ex;
  }
catch (  IOException ex) {
    LOG.error(ex.getMessage(),ex);
    throw ex;
  }
catch (  Exception ex) {
    LOG.error(ex.getMessage(),ex);
    throw new IOException(ex);
  }
  return mappingBuilder.build();
}