in concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/ArrayConcurrencyLoadBalancer.java [300:310]
public ArrayConcurrencyLoadBalancer<T> build() {
if (taskConcurrencyMap == null) {
synchronized (this) {
if (taskConcurrencyMap == null) {
TaskConcurrency.Builder taskConcurrencyBuilder = subStrategy.newTaskConcurrencyBuilder().withLookBackTime(lookBackTime);
taskConcurrencyMap = new TaskConcurrencyMap<>(taskConcurrencyBuilder, scheduledCounterBuilder);
}
}
}
return new ArrayConcurrencyLoadBalancer(tasks, taskConcurrencyMap, groupSize, listeners, scheduledCounterBuilder.getTicker());
}