Get a future that will complete the previous close
operation has completed. It is an error if close has not been
called; in this case, the results are undefined.
Implementation
Future<void> get done {
assert(_lastClose != null);
return _lastClose!;
}