@Test
 public void addRegionsOutOfOrder() {
   final String contigTwoName = header.getSequenceDictionary().getSequence(2).getSequenceName();
   assertTrue(mSortedSet.size() == 0);
   GenomeLoc g = genomeLocParser.createGenomeLoc(contigTwoName, 1, 50);
   mSortedSet.add(g);
   GenomeLoc f = genomeLocParser.createGenomeLoc(contigOneName, 30, 80);
   mSortedSet.addRegion(f);
   assertTrue(mSortedSet.size() == 2);
   assertTrue(mSortedSet.toList().get(0).getContig().equals(contigOneName));
   assertTrue(mSortedSet.toList().get(1).getContig().equals(contigTwoName));
 }
  protected ReadDestination(final SAMFileHeader header, final String readGroupID) {
    // prepare the bam header
    if (header == null) throw new IllegalArgumentException("header cannot be null");
    bamHeader = new SAMFileHeader();
    bamHeader.setSequenceDictionary(header.getSequenceDictionary());
    bamHeader.setSortOrder(SAMFileHeader.SortOrder.coordinate);

    // include the original read groups plus a new artificial one for the haplotypes
    final List<SAMReadGroupRecord> readGroups =
        new ArrayList<SAMReadGroupRecord>(header.getReadGroups());
    final SAMReadGroupRecord rg = new SAMReadGroupRecord(readGroupID);
    rg.setSample("HC");
    rg.setSequencingCenter("BI");
    readGroups.add(rg);
    bamHeader.setReadGroups(readGroups);
  }
 @BeforeClass
 public void beforeClass() {
   header = ArtificialSAMUtils.createArtificialSamHeader(1, 1, 1000);
   genomeLocParser = new GenomeLocParser(header.getSequenceDictionary());
 }
 @BeforeClass
 public void setup() {
   genomeLocParser = new GenomeLocParser(header.getSequenceDictionary());
   contigOneName = header.getSequenceDictionary().getSequence(1).getSequenceName();
 }