AlignmentIterator(Map<String, List<Row>> groupedAlignmentRows) { rows = new PriorityQueue( 5, new Comparator<Row>() { public int compare(Row o1, Row o2) { return o1.getNextStartPos() - o2.getNextStartPos(); } }); for (List<Row> alignmentRows : groupedAlignmentRows.values()) { for (Row r : alignmentRows) { r.resetIdx(); rows.add(r); } } advance(); }