Program: 19699
Project: 19699
Buggy source:
public void startElement(String uri,String localName,String qName,Attributes attributes) throws SAXException {
  if (qName.equals("String_Node_Str")) {
  }
 else   if (qName.equals("String_Node_Str")) {
    String curComponent=attributes.getValue("String_Node_Str");
    String curType=attributes.getValue("String_Node_Str");
    if (rpdMap.get(curComponent) != null) {
      throw new SAXParseException("String_Node_Str" + curComponent,locator);
    }
    rpd=new RawPropertyData(curComponent,curType);
  }
 else   if (qName.equals("String_Node_Str")) {
    String name=attributes.getValue("String_Node_Str");
    String value=attributes.getValue("String_Node_Str");
    if (attributes.getLength() != 2 || name == null || value == null) {
      throw new SAXParseException("String_Node_Str" + "String_Node_Str",locator);
    }
    if (rpd == null) {
      String symbolName=name;
      globalProperties.setValue(symbolName,value);
    }
 else     if (rpd.contains(name)) {
      throw new SAXParseException("String_Node_Str" + name,locator);
    }
 else {
      rpd.add(name,value);
    }
  }
 else   if (qName.equals("String_Node_Str")) {
    itemListName=attributes.getValue("String_Node_Str");
    if (attributes.getLength() != 1 || itemListName == null) {
      throw new SAXParseException("String_Node_Str" + "String_Node_Str",locator);
    }
    itemList=new ArrayList<String>();
  }
 else   if (qName.equals("String_Node_Str")) {
    if (attributes.getLength() != 0) {
      throw new SAXParseException("String_Node_Str",locator);
    }
    curItem=new StringBuffer();
  }
 else {
    throw new SAXParseException("String_Node_Str" + qName + "String_Node_Str",locator);
  }
}

Fixed version (ground truth):
public void startElement(String uri,String localName,String qName,Attributes attributes) throws SAXException {
  if (qName.equals("String_Node_Str")) {
  }
 else   if (qName.equals("String_Node_Str")) {
    String curComponent=attributes.getValue("String_Node_Str");
    String curType=attributes.getValue("String_Node_Str");
    if (rpdMap.get(curComponent) != null) {
      throw new SAXParseException("String_Node_Str" + curComponent,locator);
    }
    rpd=new RawPropertyData(curComponent,curType);
  }
 else   if (qName.equals("String_Node_Str")) {
    String name=attributes.getValue("String_Node_Str");
    String value=attributes.getValue("String_Node_Str");
    if (attributes.getLength() != 2 || name == null || value == null) {
      throw new SAXParseException("String_Node_Str" + "String_Node_Str",locator);
    }
    if (rpd == null) {
      globalProperties.setValue(name,value);
    }
 else     if (rpd.contains(name)) {
      throw new SAXParseException("String_Node_Str" + name,locator);
    }
 else {
      rpd.add(name,value);
    }
  }
 else   if (qName.equals("String_Node_Str")) {
    itemListName=attributes.getValue("String_Node_Str");
    if (attributes.getLength() != 1 || itemListName == null) {
      throw new SAXParseException("String_Node_Str" + "String_Node_Str",locator);
    }
    itemList=new ArrayList<String>();
  }
 else   if (qName.equals("String_Node_Str")) {
    if (attributes.getLength() != 0) {
      throw new SAXParseException("String_Node_Str",locator);
    }
    curItem=new StringBuffer();
  }
 else {
    throw new SAXParseException("String_Node_Str" + qName + "String_Node_Str",locator);
  }
}