in concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/HeapConcurrencyLoadBalancer.java [99:108]
private TaskConcurrencyQueue(Collection<T> tasks, TaskConcurrency.Builder taskConcurrencyBuilder , ScheduledCounter.Builder scheduledCounterBuilder) {
this.queue = new HashIndexedPriorityQueue<>();
this.tasks = ImmutableList.copyOf(tasks);
for (T t : tasks) {
TaskConcurrency<T> task = new HeapTaskConcurrency(new ScheduledTaskConcurrency(taskConcurrencyBuilder.build(t), scheduledCounterBuilder));
queue.offer(task);
}
this.taskConcurrences = ImmutableList.copyOf(queue);
this.size = taskConcurrences.size();
}