Program: 16989
Project: 16989
Buggy source:
public static void main(String[] args) throws Exception {
  GenbankProxySequenceReader<AminoAcidCompound> genbankProteinReader=new GenbankProxySequenceReader<AminoAcidCompound>("String_Node_Str","String_Node_Str",AminoAcidCompoundSet.getAminoAcidCompoundSet());
  ProteinSequence proteinSequence=new ProteinSequence(genbankProteinReader);
  proteinSequence.setAccession(new AccessionID("String_Node_Str"));
  System.out.println("String_Node_Str" + "String_Node_Str" + proteinSequence.getAccession() + "String_Node_Str"+ proteinSequence.getLength()+ "String_Node_Str"+ proteinSequence.getSequenceAsString().substring(0,10)+ "String_Node_Str");
  GenbankProxySequenceReader<NucleotideCompound> genbankDNAReader=new GenbankProxySequenceReader<NucleotideCompound>("String_Node_Str","String_Node_Str",DNACompoundSet.getDNACompoundSet());
  DNASequence dnaSequence=new DNASequence(genbankDNAReader);
  dnaSequence.setAccession(new AccessionID("String_Node_Str"));
  System.out.println("String_Node_Str" + "String_Node_Str" + dnaSequence.getAccession() + "String_Node_Str"+ dnaSequence.getLength()+ "String_Node_Str"+ dnaSequence.getSequenceAsString().substring(0,10)+ "String_Node_Str");
  genbankDNAReader=new GenbankProxySequenceReader<NucleotideCompound>("String_Node_Str","String_Node_Str",DNACompoundSet.getDNACompoundSet());
  dnaSequence=new DNASequence(genbankDNAReader);
  dnaSequence.setAccession(new AccessionID("String_Node_Str"));
  System.out.println("String_Node_Str" + "String_Node_Str" + dnaSequence.getAccession() + "String_Node_Str"+ dnaSequence.getLength()+ "String_Node_Str"+ dnaSequence.getSequenceAsString().substring(0,10)+ "String_Node_Str");
  genbankDNAReader=new GenbankProxySequenceReader<NucleotideCompound>("String_Node_Str","String_Node_Str",DNACompoundSet.getDNACompoundSet());
  dnaSequence=new DNASequence(genbankDNAReader);
  dnaSequence.setAccession(new AccessionID("String_Node_Str"));
  System.out.println("String_Node_Str" + "String_Node_Str" + dnaSequence.getAccession() + "String_Node_Str"+ dnaSequence.getLength()+ "String_Node_Str"+ dnaSequence.getSequenceAsString().substring(0,10)+ "String_Node_Str");
  genbankDNAReader=new GenbankProxySequenceReader<NucleotideCompound>("String_Node_Str","String_Node_Str",DNACompoundSet.getDNACompoundSet());
  dnaSequence=new DNASequence(genbankDNAReader);
  dnaSequence.setAccession(new AccessionID("String_Node_Str"));
  System.out.println("String_Node_Str" + "String_Node_Str" + dnaSequence.getAccession() + "String_Node_Str"+ dnaSequence.getLength()+ "String_Node_Str"+ dnaSequence.getSequenceAsString().substring(0,10)+ "String_Node_Str");
  genbankDNAReader=new GenbankProxySequenceReader<NucleotideCompound>("String_Node_Str","String_Node_Str",DNACompoundSet.getDNACompoundSet());
  dnaSequence=new DNASequence(genbankDNAReader);
  dnaSequence.setAccession(new AccessionID("String_Node_Str"));
  System.out.println("String_Node_Str" + "String_Node_Str" + dnaSequence.getAccession() + "String_Node_Str"+ dnaSequence.getLength()+ "String_Node_Str"+ dnaSequence.getSequenceAsString().substring(0,10)+ "String_Node_Str");
  genbankDNAReader=new GenbankProxySequenceReader<NucleotideCompound>("String_Node_Str","String_Node_Str",DNACompoundSet.getDNACompoundSet());
  dnaSequence=new DNASequence(genbankDNAReader);
  dnaSequence.setAccession(new AccessionID("String_Node_Str"));
  System.out.println("String_Node_Str" + "String_Node_Str" + dnaSequence.getAccession() + "String_Node_Str"+ dnaSequence.getLength()+ "String_Node_Str"+ dnaSequence.getSequenceAsString().substring(0,10)+ "String_Node_Str");
  genbankDNAReader=new GenbankProxySequenceReader<NucleotideCompound>("String_Node_Str","String_Node_Str",DNACompoundSet.getDNACompoundSet());
  dnaSequence=new DNASequence(genbankDNAReader);
  dnaSequence.setAccession(new AccessionID("String_Node_Str"));
  System.out.println("String_Node_Str" + "String_Node_Str" + dnaSequence.getAccession() + "String_Node_Str"+ dnaSequence.getLength()+ "String_Node_Str"+ dnaSequence.getSequenceAsString().substring(0,10)+ "String_Node_Str");
}

Fixed version (ground truth):
public static void main(String[] args) throws Exception {
  GenbankProxySequenceReader<AminoAcidCompound> genbankProteinReader=new GenbankProxySequenceReader<AminoAcidCompound>("String_Node_Str","String_Node_Str",AminoAcidCompoundSet.getAminoAcidCompoundSet());
  ProteinSequence proteinSequence=new ProteinSequence(genbankProteinReader);
  genbankProteinReader.getHeaderParser().parseHeader(genbankProteinReader.getHeader(),proteinSequence);
  System.out.println("String_Node_Str" + "String_Node_Str" + proteinSequence.getAccession() + "String_Node_Str"+ proteinSequence.getLength()+ "String_Node_Str"+ proteinSequence.getSequenceAsString().substring(0,10)+ "String_Node_Str");
  System.out.println("String_Node_Str" + genbankProteinReader.getKeyWords());
  System.out.println("String_Node_Str" + genbankProteinReader.getDatabaseReferences());
  GenbankProxySequenceReader<NucleotideCompound> genbankDNAReader=new GenbankProxySequenceReader<NucleotideCompound>("String_Node_Str","String_Node_Str",DNACompoundSet.getDNACompoundSet());
  DNASequence dnaSequence=new DNASequence(genbankDNAReader);
  genbankDNAReader.getHeaderParser().parseHeader(genbankDNAReader.getHeader(),dnaSequence);
  dnaSequence.setAccession(new AccessionID("String_Node_Str"));
  System.out.println("String_Node_Str" + "String_Node_Str" + dnaSequence.getAccession() + "String_Node_Str"+ dnaSequence.getLength()+ "String_Node_Str"+ dnaSequence.getSequenceAsString().substring(0,10)+ "String_Node_Str");
  System.out.println("String_Node_Str" + genbankDNAReader.getKeyWords());
  System.out.println("String_Node_Str" + genbankDNAReader.getDatabaseReferences());
  genbankDNAReader=new GenbankProxySequenceReader<NucleotideCompound>("String_Node_Str","String_Node_Str",DNACompoundSet.getDNACompoundSet());
  dnaSequence=new DNASequence(genbankDNAReader);
  genbankDNAReader.getHeaderParser().parseHeader(genbankDNAReader.getHeader(),dnaSequence);
  System.out.println("String_Node_Str" + "String_Node_Str" + dnaSequence.getAccession() + "String_Node_Str"+ dnaSequence.getLength()+ "String_Node_Str"+ dnaSequence.getSequenceAsString().substring(0,10)+ "String_Node_Str");
  System.out.println("String_Node_Str" + genbankDNAReader.getKeyWords());
  System.out.println("String_Node_Str" + genbankDNAReader.getDatabaseReferences());
  genbankDNAReader=new GenbankProxySequenceReader<NucleotideCompound>("String_Node_Str","String_Node_Str",DNACompoundSet.getDNACompoundSet());
  dnaSequence=new DNASequence(genbankDNAReader);
  genbankDNAReader.getHeaderParser().parseHeader(genbankDNAReader.getHeader(),dnaSequence);
  System.out.println("String_Node_Str" + "String_Node_Str" + dnaSequence.getAccession() + "String_Node_Str"+ dnaSequence.getLength()+ "String_Node_Str"+ dnaSequence.getSequenceAsString().substring(0,10)+ "String_Node_Str");
  System.out.println("String_Node_Str" + genbankDNAReader.getKeyWords());
  System.out.println("String_Node_Str" + genbankDNAReader.getDatabaseReferences());
  genbankDNAReader=new GenbankProxySequenceReader<NucleotideCompound>("String_Node_Str","String_Node_Str",DNACompoundSet.getDNACompoundSet());
  dnaSequence=new DNASequence(genbankDNAReader);
  genbankDNAReader.getHeaderParser().parseHeader(genbankDNAReader.getHeader(),dnaSequence);
  System.out.println("String_Node_Str" + "String_Node_Str" + dnaSequence.getAccession() + "String_Node_Str"+ dnaSequence.getLength()+ "String_Node_Str"+ dnaSequence.getSequenceAsString().substring(0,10)+ "String_Node_Str");
  System.out.println("String_Node_Str" + genbankDNAReader.getKeyWords());
  System.out.println("String_Node_Str" + genbankDNAReader.getDatabaseReferences());
  genbankDNAReader=new GenbankProxySequenceReader<NucleotideCompound>("String_Node_Str","String_Node_Str",DNACompoundSet.getDNACompoundSet());
  dnaSequence=new DNASequence(genbankDNAReader);
  genbankDNAReader.getHeaderParser().parseHeader(genbankDNAReader.getHeader(),dnaSequence);
  System.out.println("String_Node_Str" + "String_Node_Str" + dnaSequence.getAccession() + "String_Node_Str"+ dnaSequence.getLength()+ "String_Node_Str"+ dnaSequence.getSequenceAsString().substring(0,10)+ "String_Node_Str");
  System.out.println("String_Node_Str" + genbankDNAReader.getKeyWords());
  System.out.println("String_Node_Str" + genbankDNAReader.getDatabaseReferences());
  genbankDNAReader=new GenbankProxySequenceReader<NucleotideCompound>("String_Node_Str","String_Node_Str",DNACompoundSet.getDNACompoundSet());
  dnaSequence=new DNASequence(genbankDNAReader);
  genbankDNAReader.getHeaderParser().parseHeader(genbankDNAReader.getHeader(),dnaSequence);
  System.out.println("String_Node_Str" + "String_Node_Str" + dnaSequence.getAccession() + "String_Node_Str"+ dnaSequence.getLength()+ "String_Node_Str"+ dnaSequence.getSequenceAsString().substring(0,10)+ "String_Node_Str");
  System.out.println("String_Node_Str" + genbankDNAReader.getKeyWords());
  System.out.println("String_Node_Str" + genbankDNAReader.getDatabaseReferences());
  genbankDNAReader=new GenbankProxySequenceReader<NucleotideCompound>("String_Node_Str","String_Node_Str",DNACompoundSet.getDNACompoundSet());
  dnaSequence=new DNASequence(genbankDNAReader);
  genbankDNAReader.getHeaderParser().parseHeader(genbankDNAReader.getHeader(),dnaSequence);
  System.out.println("String_Node_Str" + "String_Node_Str" + dnaSequence.getAccession() + "String_Node_Str"+ dnaSequence.getLength()+ "String_Node_Str"+ dnaSequence.getSequenceAsString().substring(0,10)+ "String_Node_Str");
  System.out.println("String_Node_Str" + genbankDNAReader.getKeyWords());
  System.out.println("String_Node_Str" + genbankDNAReader.getDatabaseReferences());
}