docs: public static AggregationIterator create(final List<Span> spans,
                                             final long start_time,
                                             final long end_time,
                                             final Aggregator aggregator,
                                             final Interpolation method,
                                             final Aggregator downsampler,
                                             final long sample_interval_ms,
                                             final boolean rate,
                                             final RateOptions rate_options,
                                             final FillPolicy fill_policy) {
      final int size = spans.size();
      final SeekableView[] iterators = new SeekableView[size];
      for (int i = 0; i < size; i++) {
        SeekableView it;
        if (downsampler == null) {
          it = spans.get(i).spanIterator();
        } else {
          it = spans.get(i).downsampler(start_time, end_time, sample_interval_ms, 
              downsampler, fill_policy);
        }
        if (rate) {
          it = new RateSpan(it, rate_options);
        }
        iterators[i] = it;
      }
      return new AggregationIterator(iterators, start_time, end_time, aggregator,
                                     method, rate);
    }