Program: 30648
Project: 30648
Buggy source:
OverlapDetector<Gene> load(){
  final OverlapDetector<Gene> overlapDetector=new OverlapDetector<Gene>(0,0);
  final int expectedColumns=RefFlatColumns.values().length;
  final TabbedTextFileWithHeaderParser parser=new TabbedTextFileWithHeaderParser(refFlatFile,RefFlatColumnLabels);
  final Map<String,List<TabbedTextFileWithHeaderParser.Row>> refFlatLinesByGene=new HashMap<String,List<TabbedTextFileWithHeaderParser.Row>>();
  for (  final TabbedTextFileWithHeaderParser.Row row : parser) {
    final int lineNumber=parser.getCurrentLineNumber() - 1;
    if (row.getFields().length != expectedColumns) {
      throw new AnnotationException("String_Node_Str" + refFlatFile + "String_Node_Str"+ lineNumber);
    }
    final String geneName=row.getField(RefFlatColumns.GENE_NAME.name());
    final String transcriptName=row.getField(RefFlatColumns.TRANSCRIPT_NAME.name());
    final String transcriptDescription=geneName + "String_Node_Str" + transcriptName;
    final String chromosome=row.getField(RefFlatColumns.CHROMOSOME.name());
    if (!isSequenceRecognized(chromosome)) {
      LOG.debug("String_Node_Str" + transcriptDescription + "String_Node_Str"+ chromosome);
    }
 else {
      List<TabbedTextFileWithHeaderParser.Row> transcriptLines=refFlatLinesByGene.get(geneName);
      if (transcriptLines == null) {
        transcriptLines=new ArrayList<TabbedTextFileWithHeaderParser.Row>();
        refFlatLinesByGene.put(geneName,transcriptLines);
      }
      transcriptLines.add(row);
    }
  }
  int longestInterval=0;
  int numIntervalsOver1MB=0;
  for (  final List<TabbedTextFileWithHeaderParser.Row> transcriptLines : refFlatLinesByGene.values()) {
    try {
      final Gene gene=makeGeneFromRefFlatLines(transcriptLines);
      overlapDetector.addLhs(gene,gene);
      if (gene.length() > longestInterval)       longestInterval=gene.length();
      if (gene.length() > 1000000)       ++numIntervalsOver1MB;
    }
 catch (    AnnotationException e) {
      LOG.debug(e.getMessage() + "String_Node_Str");
    }
  }
  LOG.debug("String_Node_Str" + longestInterval + "String_Node_Str"+ numIntervalsOver1MB);
  return overlapDetector;
}

Fixed version (ground truth):
OverlapDetector<Gene> load(){
  final OverlapDetector<Gene> overlapDetector=new OverlapDetector<Gene>(0,0);
  final int expectedColumns=RefFlatColumns.values().length;
  final TabbedTextFileWithHeaderParser parser=new TabbedTextFileWithHeaderParser(refFlatFile,RefFlatColumnLabels);
  final Map<String,List<TabbedTextFileWithHeaderParser.Row>> refFlatLinesByGene=new HashMap<String,List<TabbedTextFileWithHeaderParser.Row>>();
  for (  final TabbedTextFileWithHeaderParser.Row row : parser) {
    final int lineNumber=parser.getCurrentLineNumber();
    if (row.getFields().length != expectedColumns) {
      throw new AnnotationException("String_Node_Str" + refFlatFile + "String_Node_Str"+ lineNumber);
    }
    final String geneName=row.getField(RefFlatColumns.GENE_NAME.name());
    final String transcriptName=row.getField(RefFlatColumns.TRANSCRIPT_NAME.name());
    final String transcriptDescription=geneName + "String_Node_Str" + transcriptName;
    final String chromosome=row.getField(RefFlatColumns.CHROMOSOME.name());
    if (!isSequenceRecognized(chromosome)) {
      LOG.debug("String_Node_Str" + transcriptDescription + "String_Node_Str"+ chromosome);
    }
 else {
      List<TabbedTextFileWithHeaderParser.Row> transcriptLines=refFlatLinesByGene.get(geneName);
      if (transcriptLines == null) {
        transcriptLines=new ArrayList<TabbedTextFileWithHeaderParser.Row>();
        refFlatLinesByGene.put(geneName,transcriptLines);
      }
      transcriptLines.add(row);
    }
  }
  int longestInterval=0;
  int numIntervalsOver1MB=0;
  for (  final List<TabbedTextFileWithHeaderParser.Row> transcriptLines : refFlatLinesByGene.values()) {
    try {
      final Gene gene=makeGeneFromRefFlatLines(transcriptLines);
      overlapDetector.addLhs(gene,gene);
      if (gene.length() > longestInterval)       longestInterval=gene.length();
      if (gene.length() > 1000000)       ++numIntervalsOver1MB;
    }
 catch (    AnnotationException e) {
      LOG.debug(e.getMessage() + "String_Node_Str");
    }
  }
  LOG.debug("String_Node_Str" + longestInterval + "String_Node_Str"+ numIntervalsOver1MB);
  return overlapDetector;
}