anchor.diff:     * Returns a [Future] that completes once all buffered data is accepted by the
      * to underlying [StreamConsumer].
      *
  -   * It's an error to call this method, while an [addStream] is incomplete.
  +   * This method must not be called while an [addStream] is incomplete.
      *
      * NOTE: This is not necessarily the same as the data being flushed by the
      * operating system.
  
positive.code:     _target.close().then(_completeDoneValue, onError: _completeDoneError);
    }
  
    Future get done => _doneFuture;
  
    void _completeDoneValue(value) {
      if (_doneCompleter == null) return;
      _doneCompleter.complete(value);
      _doneCompleter = null;
    }
  
    void _completeDoneError(error, StackTrace stackTrace) {
      if (_doneCompleter == null) return;
      _hasError = true;
      _doneCompleter.completeError(error, stackTrace);
      _doneCompleter = null;
    }
  
    StreamController<T> get _controller {
  
negative.code:   Encoding encoding;
  
    /**
     * Adds byte [data] to the target consumer, ignoring [encoding].
     *
     * The [encoding] does not apply to this method, and the `data` list is passed
     * directly to the target consumer as a stream event.
  