Program: 82671
Project: 82671
Buggy source:
private void infoStarted(Attributes attributes){
  String module=substitute(settings,attributes.getValue("String_Node_Str"));
  String rev=null;
  String branch=null;
  String status=null;
  String namespace=null;
  Map extraAttributes=null;
  if (options.isMerge()) {
    ModuleDescriptor merged=options.getMergedDescriptor();
    ModuleRevisionId mergedMrid=merged.getModuleRevisionId();
    organisation=mergedMrid.getOrganisation();
    branch=mergedMrid.getBranch();
    rev=mergedMrid.getRevision();
    status=merged.getStatus();
    if (merged instanceof DefaultModuleDescriptor) {
      Namespace ns=((DefaultModuleDescriptor)merged).getNamespace();
      if (ns != null) {
        namespace=ns.getName();
      }
    }
    if (namespace == null) {
      namespace=attributes.getValue("String_Node_Str");
    }
    extraAttributes=merged.getQualifiedExtraAttributes();
  }
 else {
    organisation=substitute(settings,attributes.getValue("String_Node_Str"));
    rev=substitute(settings,attributes.getValue("String_Node_Str"));
    branch=substitute(settings,attributes.getValue("String_Node_Str"));
    status=substitute(settings,attributes.getValue("String_Node_Str"));
    namespace=substitute(settings,attributes.getValue("String_Node_Str"));
    extraAttributes=new LinkedHashMap(attributes.getLength());
    for (int i=0; i < attributes.getLength(); i++) {
      String qname=attributes.getQName(i);
      if (!stdAtts.contains(qname)) {
        extraAttributes.put(qname,substitute(settings,attributes.getValue(i)));
      }
    }
  }
  if (revision != null) {
    rev=revision;
  }
  if (options.getBranch() != null) {
    branch=options.getBranch();
  }
  if (this.status != null) {
    status=this.status;
  }
  ModuleRevisionId localMid=ModuleRevisionId.newInstance(organisation,module,branch,rev,ExtendableItemHelper.getExtraAttributes(settings,attributes,new String[]{"String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str"}));
  ModuleRevisionId systemMid=ns == null ? localMid : ns.getToSystemTransformer().transform(localMid);
  write("String_Node_Str");
  if (organisation != null) {
    write("String_Node_Str" + XMLHelper.escape(systemMid.getOrganisation()) + "String_Node_Str");
  }
  write("String_Node_Str" + XMLHelper.escape(systemMid.getName()) + "String_Node_Str");
  if (branch != null) {
    write("String_Node_Str" + XMLHelper.escape(systemMid.getBranch()) + "String_Node_Str");
  }
  if (systemMid.getRevision() != null) {
    write("String_Node_Str" + XMLHelper.escape(systemMid.getRevision()) + "String_Node_Str");
  }
  write("String_Node_Str" + XMLHelper.escape(status) + "String_Node_Str");
  if (pubdate != null) {
    write("String_Node_Str" + Ivy.DATE_FORMAT.format(pubdate) + "String_Node_Str");
  }
 else   if (attributes.getValue("String_Node_Str") != null) {
    write("String_Node_Str" + substitute(settings,attributes.getValue("String_Node_Str")) + "String_Node_Str");
  }
  if (namespace != null) {
    write("String_Node_Str" + namespace + "String_Node_Str");
  }
  for (Iterator extras=extraAttributes.entrySet().iterator(); extras.hasNext(); ) {
    Map.Entry extra=(Map.Entry)extras.next();
    write("String_Node_Str" + extra.getKey() + "String_Node_Str"+ extra.getValue()+ "String_Node_Str");
  }
}

Fixed version (ground truth):
private void infoStarted(Attributes attributes){
  String module=substitute(settings,attributes.getValue("String_Node_Str"));
  String rev=null;
  String branch=null;
  String status=null;
  String namespace=null;
  Map extraAttributes=null;
  if (options.isMerge()) {
    ModuleDescriptor merged=options.getMergedDescriptor();
    ModuleRevisionId mergedMrid=merged.getModuleRevisionId();
    organisation=mergedMrid.getOrganisation();
    branch=mergedMrid.getBranch();
    rev=mergedMrid.getRevision();
    status=merged.getStatus();
    if (merged instanceof DefaultModuleDescriptor) {
      Namespace ns=((DefaultModuleDescriptor)merged).getNamespace();
      if (ns != null) {
        namespace=ns.getName();
      }
    }
    if (namespace == null) {
      namespace=attributes.getValue("String_Node_Str");
    }
    extraAttributes=merged.getQualifiedExtraAttributes();
  }
 else {
    organisation=substitute(settings,attributes.getValue("String_Node_Str"));
    rev=substitute(settings,attributes.getValue("String_Node_Str"));
    branch=substitute(settings,attributes.getValue("String_Node_Str"));
    status=substitute(settings,attributes.getValue("String_Node_Str"));
    namespace=substitute(settings,attributes.getValue("String_Node_Str"));
    extraAttributes=new LinkedHashMap(attributes.getLength());
    for (int i=0; i < attributes.getLength(); i++) {
      String qname=attributes.getQName(i);
      if (!STD_ATTS.contains(qname)) {
        extraAttributes.put(qname,substitute(settings,attributes.getValue(i)));
      }
    }
  }
  if (revision != null) {
    rev=revision;
  }
  if (options.getBranch() != null) {
    branch=options.getBranch();
  }
  if (this.status != null) {
    status=this.status;
  }
  ModuleRevisionId localMid=ModuleRevisionId.newInstance(organisation,module,branch,rev,ExtendableItemHelper.getExtraAttributes(settings,attributes,new String[]{"String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str"}));
  ModuleRevisionId systemMid=ns == null ? localMid : ns.getToSystemTransformer().transform(localMid);
  write("String_Node_Str");
  if (organisation != null) {
    write("String_Node_Str" + XMLHelper.escape(systemMid.getOrganisation()) + "String_Node_Str");
  }
  write("String_Node_Str" + XMLHelper.escape(systemMid.getName()) + "String_Node_Str");
  if (branch != null) {
    write("String_Node_Str" + XMLHelper.escape(systemMid.getBranch()) + "String_Node_Str");
  }
  if (systemMid.getRevision() != null) {
    write("String_Node_Str" + XMLHelper.escape(systemMid.getRevision()) + "String_Node_Str");
  }
  write("String_Node_Str" + XMLHelper.escape(status) + "String_Node_Str");
  if (pubdate != null) {
    write("String_Node_Str" + Ivy.DATE_FORMAT.format(pubdate) + "String_Node_Str");
  }
 else   if (attributes.getValue("String_Node_Str") != null) {
    write("String_Node_Str" + substitute(settings,attributes.getValue("String_Node_Str")) + "String_Node_Str");
  }
  if (namespace != null) {
    write("String_Node_Str" + namespace + "String_Node_Str");
  }
  for (Iterator extras=extraAttributes.entrySet().iterator(); extras.hasNext(); ) {
    Map.Entry extra=(Map.Entry)extras.next();
    write("String_Node_Str" + extra.getKey() + "String_Node_Str"+ extra.getValue()+ "String_Node_Str");
  }
}