in lib/src/disconnector.dart [111:125]
Future<void> addStream(Stream<T> stream) {
if (_closed) throw StateError('Cannot add stream after closing.');
if (_inAddStream) {
throw StateError('Cannot add stream while adding stream.');
}
if (_isDisconnected) return Future.value();
_addStreamCompleter = Completer.sync();
_addStreamSubscription = stream.listen(_inner.add,
onError: _inner.addError, onDone: _addStreamCompleter!.complete);
return _addStreamCompleter!.future.then((_) {
_addStreamCompleter = null;
_addStreamSubscription = null;
});
}