<T> Collection<? extends Callable<T>> wrap(Collection<? extends Callable<T>> tasks) {
    ArrayList<Callable<T>> result = new ArrayList<>(tasks.size());
    for (Callable<T> task : tasks) {
      result.add(wrap(task));
    }
    return result;
  }
Used to implement a context propagating executor service which wraps tasks
zipkin-server/src/main/java/zipkin2/server/internal/WrappingExecutorService.java