code: public Cursor<DataPoint> readDataPoints(Filter filter, Interval interval, Aggregation aggregation) {
      return readDataPoints(filter, interval, DateTimeZone.getDefault(), aggregation, null, null);
    }
docs: Returns a cursor of datapoints specified by a series filter.
  
  <p>This endpoint allows one to request multiple series and apply an aggregation function.
  The system default timezone is used for the returned DateTimes.
  
  @param filter The series filter
  @param interval An interval of time for the query (start/end datetimes)
  @param aggregation The aggregation for the read query. This is required.
  @return A Cursor of DataPoints. The cursor.iterator().next() may throw a {@link TempoDBException} if an error occurs while making a request.
  
  @see Aggregation
  @see Cursor
  @see Filter
  @since 1.0.0