anchor.diff:    bool _isPaused = false;
   
     _StreamIterator(final Stream<T> stream)
  -      : _stateData = stream;
  +      : _stateData = stream {
  +    ArgumentError.checkNotNull(stream, "stream");
  +  }
   
     T get current {
       if (_subscription != null && _isPaused) {
  
positive.code:       this._source,
        void onListenHandler(StreamSubscription<T> subscription)?,
        void onCancelHandler(StreamSubscription<T> subscription)?)
        : _onListenHandler = onListenHandler == null ? null : Zone.current
              .registerUnaryCallback<void, StreamSubscription<T>>(
                  onListenHandler),
          _onCancelHandler = onCancelHandler == null ? null : Zone.current
              .registerUnaryCallback<void, StreamSubscription<T>>(
                  onCancelHandler),
          _zone = Zone.current {
      _controller = new _AsBroadcastStreamController<T>(_onListen, _onCancel);
  
negative.code:     _cancel();
      _state |= _STATE_WAIT_FOR_CANCEL;
      var cancelFuture = _cancelFuture;
      if (cancelFuture != null && !identical(cancelFuture, Future._nullFuture)) {
        cancelFuture.whenComplete(sendDone);
      } else {
        sendDone();
  