anchor.diff:          throw new WebSocketException("Received masked frame from server");
         }
         _state = MASK;
  -      _remainingMaskingKeyBytes = 4;
       } else {
         if (_serverSide) {
           throw new WebSocketException("Received unmasked frame from client");
  
positive.code: 
    void _prepareForNextFrame() {
      if (_state != CLOSED && _state != FAILURE) _state = START;
      _fin = null;
      _opcode = null;
      _len = null;
      _masked = null;
      _maskingKey = 0;
      _remainingLenBytes = null;
      _remainingMaskingKeyBytes = null;
      _remainingPayloadBytes = null;
      _unmaskingIndex = 0;
      _controlPayload = null;
    }
  }
  
  
negative.code:     if (_fin) {
        switch (_currentMessageType) {
          case _WebSocketMessageType.TEXT:
            _eventSink.add(UTF8.decode(_payload.takeBytes()));
            break;
          case _WebSocketMessageType.BINARY:
            _eventSink.add(_payload.takeBytes());
            break;
        }
        _currentMessageType = _WebSocketMessageType.NONE;
      }
      _prepareForNextFrame();
  