code: public static ImmutableList<StreamReadsRequest> getReadRequests(final StreamReadsRequest prototype,
        SexChromosomeFilter sexChromosomeFilter, long numberOfBasesPerShard,
        OfflineAuth auth) throws IOException {
      Iterable<Contig> shards = getAllShardsInReadGroupSet(prototype.getReadGroupSetId(), sexChromosomeFilter,
          numberOfBasesPerShard, auth);
      return FluentIterable.from(shards)
          .transform(new Function<Contig, StreamReadsRequest>() {
            @Override
            public StreamReadsRequest apply(Contig shard) {
              return shard.getStreamReadsRequest(prototype);
            }
          }).toList();
    }
docs: Constructs sharded StreamReadsRequest for the all references in the readGroupSet.
  
  @param prototype The prototype request.
  @param sexChromosomeFilter An enum value indicating how sex chromosomes should be
  handled in the result.
  @param numberOfBasesPerShard The maximum number of bases to include per shard.
  @param auth The OfflineAuth to be used to get the reference bounds for the variantSet.
  @return The shuffled list of sharded request objects.
  @throws IOException