anchor.diff:  
     void _parse() {
       // Number of boundary bytes to artificially place before the supplied data.
  -    var boundaryPrefix = 0;
  +    // The data to parse might be 'artificially' prefixed with a
  +    // partial match of the boundary.
  +    var boundaryPrefix = _boundaryIndex;
       // Position where content starts. Will be null if no known content
       // start exists. Will be negative of the content starts in the
       // boundary prefix. Will be zero or position if the content starts
       // in the current buffer.
  -    int contentStartIndex;
  +    var contentStartIndex =
  +        _state == _CONTENT && _boundaryIndex == 0 ? 0 : null;
   
       // Function to report content data for the current part. The data
       // reported is from the current content start index up til the
  
positive.code:   int _state = _START;
    int _boundaryIndex = 2;
  
    // Current index in the data buffer. If index is negative then it
    // is the index into the artificial prefix of the boundary string.
    int _index;
    List<int> _buffer;
  
    BoundMultipartStream(this._boundary, Stream<List<int>> stream) {
      _controller = StreamController(
          sync: true,
          onPause: _pauseStream,
          onResume: _resumeStream,
          onCancel: () {
            _controllerState = _CONTROLLER_STATE_CANCELED;
            _tryPropagateControllerState();
          },
          onListen: () {
            _controllerState = _CONTROLLER_STATE_ACTIVE;
            _subscription = stream.listen((data) {
              assert(_buffer == null);
              _subscription.pause();
              _buffer = data;
              _index = 0;
              _parse();
            }, onDone: () {
              if (_state != _DONE) {
                _controller
                    .addError(MimeMultipartException('Bad multipart ending'));
              }
              _controller.close();
            }, onError: _controller.addError);
          });
    }
  
    void _resumeStream() {
  
negative.code:       }
      }
  
      while (_index < _buffer.length && _state != _FAIL && _state != _DONE) {
        var byte =
            _index < 0 ? _boundary[boundaryPrefix + _index] : _buffer[_index];
        switch (_state) {
          case _START:
            if (byte == _boundary[_boundaryIndex]) {
  