docs: public void register(Collector m) {
      List<String> names = collectorNames(m);
      synchronized (collectorsToNames) {
        for (String name : names) {
          if (namesToCollectors.containsKey(name)) {
            throw new IllegalArgumentException("Collector already registered that provides name: " + name);
          }
        }
        for (String name : names) {
          namesToCollectors.put(name, m);
        }
        collectorsToNames.put(m, names);
      }
    }