docs: public List<Metric> poll(MetricFilter filter, boolean reset) {
      List<Metric> metrics = new ArrayList<>();
      try {
        MBeanServerConnection con = connector.getConnection();
        for (ObjectName query : queries) {
          Set<ObjectName> names = con.queryNames(query, null);
          if (names.isEmpty()) {
            LOGGER.warn("no mbeans matched query: {}", query);
          } else {
            for (ObjectName name : names) {
              try {
                getMetrics(con, filter, metrics, name);
              } catch (Exception e) {
                LOGGER.warn("failed to get metrics for: " + name, e);
              }
            }
          }
        }
      } catch (Exception e) {
        LOGGER.warn("failed to collect jmx metrics.", e);
      }
      return metrics;
    }