public void advanceTo(String contig, int pos) {
		//Advance to wholly new site
		//Expand leading edge until the next record is beyond target pos
		
		advanceToContig(contig);
		
		if (pos > contigMap.get(contig)) {
			throw new IllegalArgumentException("Contig " + contig + " has only " + contigMap.get(contig) + " bases, can't advance to " + pos);
		}
		
		
		if (nextRecord != null) {
			if (! nextRecord.getReferenceName().equals(currentContig)) {
				throw new IllegalArgumentException("Whoa! We're not searching the right contig, record contig is : " + contig +  " but current is : " + currentContig);
			}
		}
		
		//Must occur BEFORE we try to get new records...
		currentPos = pos;
		int count = 0;
		while(nextRecord != null 
				&& nextRecord.getAlignmentStart() <= pos
				&& nextRecord.getReferenceName().equals(currentContig)) {
			expand();
			if (count %128 == 0)
				shrinkTrailingEdge();
		}
		
		shrinkTrailingEdge();
	
		//Nice sanity check...
		//checkReads();
	}