docs: public void validate() {
      if (metric == null || metric.isEmpty()) {
        throw new IllegalArgumentException("missing or empty metric");
      }
  
      if (id == null || id.isEmpty()) {
        throw new IllegalArgumentException("missing or empty id");
      }
      Query.validateId(id);
  
      if (time_offset != null) {
        DateTime.parseDateTimeString(time_offset, null);
      }
      
      if (aggregator != null && !aggregator.isEmpty()) {
        try {
          Aggregators.get(aggregator.toLowerCase());
        } catch (final NoSuchElementException e) {
          throw new IllegalArgumentException("Invalid aggregator");
        }
      }
  
      if (fill_policy != null) {
        fill_policy.validate();
      }
    }