@Override public Object postProcessAfterInitialization(Object bean, String beanName) {
      if (bean instanceof StorageComponent component) {
        ZipkinStorageThrottleProperties throttleProperties =
          beanFactory.getBean(ZipkinStorageThrottleProperties.class);
        return new ThrottledStorageComponent(component,
          beanFactory.getBean(MeterRegistry.class),
          beanFactory.containsBean("tracing") ? beanFactory.getBean(Tracing.class) : null,
          throttleProperties.getMinConcurrency(),
          throttleProperties.getMaxConcurrency(),
          throttleProperties.getMaxQueueSize());
      }
      return bean;
    }
Need this to resolve cyclic instantiation issue with spring when instantiating with metrics
and tracing.

<p>Ref: <a href="https://stackoverflow.com/a/19688634">Tracking down cause of Spring's "not
eligible for auto-proxying"</a></p>
zipkin-server/src/main/java/zipkin2/server/internal/ZipkinConfiguration.java