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: 
  class _StreamSinkImpl<T> implements StreamSink<T> {
    final StreamConsumer<T> _target;
    Completer _doneCompleter = new Completer();
    Future _doneFuture;
    StreamController<T> _controllerInstance;
    Completer _controllerCompleter;
    bool _isClosed = false;
    bool _isBound = false;
    bool _hasError = false;
  
    _StreamSinkImpl(this._target) {
      _doneFuture = _doneCompleter.future;
    }
  
    void add(T data) {
      if (_isClosed) return;
  
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.
  