Waits this Futures
Future<List<T>> waitFutures() { if (isEmpty) { return Future.value(<T>[]); } else { return Future.wait(this); } }