docs: public Cursor<DataPointFound> findDataPoints(Series series, Interval interval, Predicate predicate, DateTimeZone timezone) {
      checkNotNull(series);
      checkNotNull(interval);
      checkNotNull(predicate);
      checkNotNull(timezone);
  
      URI uri = null;
      try {
        URIBuilder builder = new URIBuilder(String.format("/%s/series/key/%s/find/", API_VERSION, urlencode(series.getKey())));
        addIntervalToURI(builder, interval);
        addPredicateToURI(builder, predicate);
        addTimeZoneToURI(builder, timezone);
        uri = builder.build();
      } catch (URISyntaxException e) {
        String message = String.format("Could not build URI with inputs: key: %s, interval: %s, predicate: %s, timezone: %s", series.getKey(), interval, predicate, timezone);
        throw new IllegalArgumentException(message, e);
      }
  
      Cursor<DataPointFound> cursor = new DataPointFoundCursor(uri, this);
      return cursor;
    }