in src/main/java/com/spotify/futures/FuturesExtra.java [528:539]
public static <Z, A, B, C> ListenableFuture<Z> asyncTransform3(
ListenableFuture<A> a,
ListenableFuture<B> b,
ListenableFuture<C> c,
final AsyncFunction3<Z, ? super A, ? super B, ? super C> function,
final Executor executor) {
return transform(
Arrays.asList(a, b, c),
(AsyncFunction<List<Object>, Z>)
results -> function.apply((A) results.get(0), (B) results.get(1), (C) results.get(2)),
executor);
}