docs: public Cursor<MultiDataPoint> readMultiDataPoints(Filter filter, Interval interval, DateTimeZone timezone, Rollup rollup, Interpolation interpolation) {
      checkNotNull(filter);
      checkNotNull(interval);
      checkNotNull(timezone);
  
      URI uri = null;
      try {
        URIBuilder builder = new URIBuilder(String.format("/%s/multi/", API_VERSION));
        addFilterToURI(builder, filter);
        addInterpolationToURI(builder, interpolation);
        addIntervalToURI(builder, interval);
        addRollupToURI(builder, rollup);
        addTimeZoneToURI(builder, timezone);
        uri = builder.build();
      } catch (URISyntaxException e) {
        String message = String.format("Could not build URI with inputs: filter: %s, interval: %s, rollup: %s, timezone: %s", filter, interval, rollup, timezone);
        throw new IllegalArgumentException(message, e);
      }
  
      Cursor<MultiDataPoint> cursor = new MultiDataPointCursor(uri, this);
      return cursor;
    }