Future<List<T>> resolveAll() { if (isEmpty) { return Future.value(<T>[]); } return Future.wait(this); }