Program: 13659
Project: 13659
Buggy source:
private void parseGenomeFiles(Genome genome){
  File[] files=baseLocation.listFiles(new DatSimpleFileFilter());
  AnnotationSet annotationSet=new AnnotationSet();
  for (int i=0; i < files.length; i++) {
    Enumeration<ProgressListener> e=listeners.elements();
    while (e.hasMoreElements()) {
      e.nextElement().progressUpdated("String_Node_Str" + files[i].getName(),i,files.length);
    }
    try {
      processEMBLFile(files[i],annotationSet);
    }
 catch (    Exception ex) {
      Enumeration<ProgressListener> en=listeners.elements();
      while (en.hasMoreElements()) {
        en.nextElement().progressExceptionReceived(ex);
      }
      return;
    }
  }
  Enumeration<ProgressListener> e=listeners.elements();
  if (files.length > 0) {
    while (e.hasMoreElements()) {
      e.nextElement().progressUpdated("String_Node_Str",1,1);
    }
  }
  files=baseLocation.listFiles(new GFFSimpleFileFilter());
  GFF3AnnotationParser gffParser=new GFF3AnnotationParser();
  for (int i=0; i < files.length; i++) {
    e=listeners.elements();
    while (e.hasMoreElements()) {
      e.nextElement().progressUpdated("String_Node_Str" + files[i].getName(),i,files.length);
    }
    try {
      AnnotationSet newSet=new AnnotationSet();
      gffParser.parseAnnotation(newSet,files[i]);
      Feature[] features=newSet.getAllFeatures();
      for (int f=0; f < features.length; f++) {
        annotationSet.addFeature(features[f]);
      }
    }
 catch (    Exception ex) {
      Enumeration<ProgressListener> en=listeners.elements();
      while (en.hasMoreElements()) {
        en.nextElement().progressExceptionReceived(ex);
      }
      return;
    }
  }
  e=listeners.elements();
  if (files.length > 0) {
    while (e.hasMoreElements()) {
      e.nextElement().progressUpdated("String_Node_Str",1,1);
    }
  }
  genome.setAnnotationSet(annotationSet);
}

Fixed version (ground truth):
private void parseGenomeFiles(Genome genome){
  File[] files=baseLocation.listFiles(new DatSimpleFileFilter());
  for (int i=0; i < files.length; i++) {
    Enumeration<ProgressListener> e=listeners.elements();
    while (e.hasMoreElements()) {
      e.nextElement().progressUpdated("String_Node_Str" + files[i].getName(),i,files.length);
    }
    try {
      processEMBLFile(files[i]);
    }
 catch (    Exception ex) {
      Enumeration<ProgressListener> en=listeners.elements();
      while (en.hasMoreElements()) {
        en.nextElement().progressExceptionReceived(ex);
      }
      return;
    }
  }
  Enumeration<ProgressListener> e=listeners.elements();
  if (files.length > 0) {
    while (e.hasMoreElements()) {
      e.nextElement().progressUpdated("String_Node_Str",1,1);
    }
  }
  files=baseLocation.listFiles(new GFFSimpleFileFilter());
  GFF3AnnotationParser gffParser=new GFF3AnnotationParser();
  for (int i=0; i < files.length; i++) {
    e=listeners.elements();
    while (e.hasMoreElements()) {
      e.nextElement().progressUpdated("String_Node_Str" + files[i].getName(),i,files.length);
    }
    try {
      AnnotationSet newSet=new AnnotationSet();
      gffParser.parseAnnotation(newSet,files[i]);
      Feature[] features=newSet.getAllFeatures();
      for (int f=0; f < features.length; f++) {
        genome.annotationSet().addFeature(features[f]);
      }
    }
 catch (    Exception ex) {
      Enumeration<ProgressListener> en=listeners.elements();
      while (en.hasMoreElements()) {
        en.nextElement().progressExceptionReceived(ex);
      }
      return;
    }
  }
  e=listeners.elements();
  if (files.length > 0) {
    while (e.hasMoreElements()) {
      e.nextElement().progressUpdated("String_Node_Str",1,1);
    }
  }
}