anchor.diff:  class _IOSinkImpl<T> implements IOSink<T> {
     final StreamConsumer<List<int>, T> _target;
   
  +  Completer _writeStreamCompleter;
     StreamController<List<int>> _controllerInstance;
     Future<T> _pipeFuture;
     StreamSubscription<List<int>> _bindSubscription;
  
positive.code: 
    Future<T> _fillFromStream(Stream<List<int>> stream, {unbind: false}) {
      _controller;
      Completer<T> unbindCompleter;
      if (unbind) {
        unbindCompleter = new Completer<T>();
      }
      completeUnbind([error]) {
        if (unbindCompleter == null) return;
        var tmp = unbindCompleter;
        unbindCompleter = null;
        if (error == null) {
          _bindSubscription = null;
          tmp.complete();
        } else {
          tmp.completeError(error);
        }
      }
      _bindSubscription = stream.listen(
          _controller.add,
          onDone: () {
            if (unbind) {
              completeUnbind();
            } else {
              _controller.close();
            }
  
negative.code:         onError: _controller.signalError);
      if (_paused) _pause();
      if (unbind) {
        return _writeStreamCompleter.future;
      } else {
        return _pipeFuture.then((_) => this);
      }
  