docs: HystrixMetricsPublisherCollapser getPublisherForCollapser(HystrixCollapserKey collapserKey, HystrixCollapserMetrics metrics, HystrixCollapserProperties properties) {
          // attempt to retrieve from cache first
          HystrixMetricsPublisherCollapser publisher = collapserPublishers.get(collapserKey.name());
          if (publisher != null) {
              return publisher;
          }
          // it doesn't exist so we need to create it
          publisher = HystrixPlugins.getInstance().getMetricsPublisher().getMetricsPublisherForCollapser(collapserKey, metrics, properties);
          // attempt to store it (race other threads)
          HystrixMetricsPublisherCollapser existing = collapserPublishers.putIfAbsent(collapserKey.name(), publisher);
          if (existing == null) {
              // we won the thread-race to store the instance we created so initialize it
              publisher.initialize();
              // done registering, return instance that got cached
              return publisher;
          } else {
              // we lost so return 'existing' and let the one we created be garbage collected
              // without calling initialize() on it
              return existing;
          }
      }