}
final PeekableIterator<SAMRecord> it = new PeekableIterator<SAMRecord>(reader.iterator());
if (!this.pairedReads) {
// Filter out noise reads and reads that fail the quality filter
final List<SamRecordFilter> filters = new ArrayList<SamRecordFilter>();
filters.add(new TagFilter(ReservedTagConstants.XN, 1));
if (!this.includeNonPfReads) {
filters.add(new FailsVendorReadQualityFilter());
}
final FilteringIterator itr = new FilteringIterator(it, new AggregateFilter(filters));
while (itr.hasNext()) {