@Test
 public void addRegion() {
   assertTrue(mSortedSet.size() == 0);
   GenomeLoc g = genomeLocParser.createGenomeLoc(contigOneName, 1, 50);
   mSortedSet.add(g);
   GenomeLoc f = genomeLocParser.createGenomeLoc(contigOneName, 30, 80);
   mSortedSet.addRegion(f);
   assertTrue(mSortedSet.size() == 1);
 }
 @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));
 }
 @Test
 public void mergingOverlappingAbove() {
   GenomeLoc e = genomeLocParser.createGenomeLoc(contigOneName, 0, 50);
   GenomeLoc g = genomeLocParser.createGenomeLoc(contigOneName, 49, 100);
   assertTrue(mSortedSet.size() == 0);
   mSortedSet.add(g);
   assertTrue(mSortedSet.size() == 1);
   mSortedSet.addRegion(e);
   assertTrue(mSortedSet.size() == 1);
   Iterator<GenomeLoc> iter = mSortedSet.iterator();
   GenomeLoc loc = iter.next();
   assertEquals(loc.getStart(), 0);
   assertEquals(loc.getStop(), 100);
   assertEquals(loc.getContigIndex(), 1);
 }
  @Test
  public void deleteSuperRegion() {
    GenomeLoc e = genomeLocParser.createGenomeLoc(contigOneName, 10, 20);
    GenomeLoc g = genomeLocParser.createGenomeLoc(contigOneName, 70, 100);
    mSortedSet.add(g);
    mSortedSet.addRegion(e);
    assertTrue(mSortedSet.size() == 2);
    // now delete a region
    GenomeLoc d = genomeLocParser.createGenomeLoc(contigOneName, 15, 75);
    mSortedSet = mSortedSet.subtractRegions(new GenomeLocSortedSet(genomeLocParser, d));
    Iterator<GenomeLoc> iter = mSortedSet.iterator();
    GenomeLoc loc = iter.next();
    assertTrue(loc.getStart() == 10);
    assertTrue(loc.getStop() == 14);
    assertTrue(loc.getContigIndex() == 1);

    loc = iter.next();
    assertTrue(loc.getStart() == 76);
    assertTrue(loc.getStop() == 100);
    assertTrue(loc.getContigIndex() == 1);
  }