Program: 48196
Project: 48196
Buggy source:
private DIDMarkerType parseDIDMarkerType(XmlPullParser parser) throws XmlPullParserException, IOException {
  DIDMarkerType didMarker=new DIDMarkerType();
  int eventType;
  do {
    parser.next();
    eventType=parser.getEventType();
    if (eventType == XmlPullParser.START_TAG) {
      if (parser.getName().equals("String_Node_Str")) {
        didMarker.setPACEMarker(this.parsePACEMarker(parser));
      }
 else       if (parser.getName().equals("String_Node_Str")) {
        didMarker.setTAMarker(this.parseTAMarker(parser));
      }
 else       if (parser.getName().equals("String_Node_Str")) {
        didMarker.setCAMarker(this.parseCAMarker(parser));
      }
 else       if (parser.getName().equals("String_Node_Str")) {
        didMarker.setRIMarker(this.parseRIMarker(parser));
      }
 else       if (parser.getName().equals("String_Node_Str")) {
        didMarker.setCryptoMarker(this.parseCryptoMarker(parser));
      }
 else       if (parser.getName().equals("String_Node_Str")) {
        didMarker.setPinCompareMarker(this.parsePINCompareMarker(parser));
      }
 else {
        throw new IOException(parser.getName() + "String_Node_Str");
      }
    }
  }
 while (!(eventType == XmlPullParser.END_TAG && parser.getName().equals("String_Node_Str")));
  return didMarker;
}

Fixed version (ground truth):
private DIDMarkerType parseDIDMarkerType(XmlPullParser parser) throws XmlPullParserException, IOException {
  DIDMarkerType didMarker=new DIDMarkerType();
  int eventType;
  do {
    parser.next();
    eventType=parser.getEventType();
    if (eventType == XmlPullParser.START_TAG) {
      if (parser.getName().equals("String_Node_Str")) {
        didMarker.setPACEMarker((PACEMarkerType)this.parseMarker(parser,PACEMarkerType.class));
      }
 else       if (parser.getName().equals("String_Node_Str")) {
        didMarker.setTAMarker((TAMarkerType)this.parseMarker(parser,TAMarkerType.class));
      }
 else       if (parser.getName().equals("String_Node_Str")) {
        didMarker.setCAMarker((CAMarkerType)this.parseMarker(parser,CAMarkerType.class));
      }
 else       if (parser.getName().equals("String_Node_Str")) {
        didMarker.setRIMarker((RIMarkerType)this.parseMarker(parser,RIMarkerType.class));
      }
 else       if (parser.getName().equals("String_Node_Str")) {
        didMarker.setCryptoMarker((CryptoMarkerType)this.parseMarker(parser,CryptoMarkerType.class));
      }
 else       if (parser.getName().equals("String_Node_Str")) {
        didMarker.setPinCompareMarker((PinCompareMarkerType)this.parseMarker(parser,PinCompareMarkerType.class));
      }
 else       if (parser.getName().equals("String_Node_Str")) {
        didMarker.setRSAAuthMarker((RSAAuthMarkerType)this.parseMarker(parser,RSAAuthMarkerType.class));
      }
 else       if (parser.getName().equals("String_Node_Str")) {
        didMarker.setMutualAuthMarker((MutualAuthMarkerType)this.parseMarker(parser,MutualAuthMarkerType.class));
      }
 else {
        throw new IOException(parser.getName() + "String_Node_Str");
      }
    }
  }
 while (!(eventType == XmlPullParser.END_TAG && parser.getName().equals("String_Node_Str")));
  return didMarker;
}