Wait all elements that are Future.
FutureOr<List<T>> waitFutures() { var futures = selectFutures(); if (futures.isEmpty) { return <T>[]; } else { return Future.wait(futures); } }