I understand why you needed to do this don't think we should make any changes. 

However, the need for this class  hints to me that the way we are grouping reads in general could use some thought. 

If we decide later to allow nested schemas for reads, we could just store our paired end, primary/secondary, etc  reads together (which means that a groupBy on readName won't be necessary).