dispose method
Closes all stream controllers.
Implementation
Future<void> dispose() {
final List<StreamController> controllers = values.toList(growable: false);
final Iterable<Future<void>> futures = controllers.map((c) => c.close());
_subscriptionIdToController.clear();
return Future.wait(futures);
}