docs: private void parseMetricCustomRule() {
      if (meta.getMetric() == null) {
        throw new IllegalStateException(
            "Timeseries metric UID object was null");
      }
      
      Map<String, String> custom = meta.getMetric().getCustom();
      if (custom != null && custom.containsKey(rule.getCustomField())) {
        if (custom.get(rule.getCustomField()) == null) {
          throw new IllegalStateException(
              "Value for custom metric field [" + rule.getCustomField() + 
              "] was null");
        }
        processParsedValue(custom.get(rule.getCustomField()));
        testMessage("Matched custom tag [" + rule.getCustomField() 
            + "] for rule: " + rule);
      } else {
        // no match
        testMessage("No match on custom tag [" + rule.getCustomField() 
            + "] for rule: " + rule);
      }
    }