docs: public boolean validate(final List<Map<String, Object>> details) {
      if (this.getMetric() == null || this.getMetric().isEmpty()) {
        if (details != null) {
          details.add(getHttpDetails("Metric name was empty"));
        }
        LOG.warn("Metric name was empty: " + this);
        return false;
      }
  
      //TODO add blacklisted metric validatin here too
      
      if (this.getTimestamp() <= 0) {
        if (details != null) {
          details.add(getHttpDetails("Invalid timestamp"));
        }
        LOG.warn("Invalid timestamp: " + this);
        return false;
      }
  
      if (this.getValue() == null || this.getValue().isEmpty()) {
        if (details != null) {
          details.add(getHttpDetails("Empty value"));
        }
        LOG.warn("Empty value: " + this);
        return false;
      }
  
      if (this.getTags() == null || this.getTags().size() < 1) {
        if (details != null) {
          details.add(getHttpDetails("Missing tags"));
        }
        LOG.warn("Missing tags: " + this);
        return false;
      }
      return true;
    }