anchor.diff:                    "List element is not a byte value "
                     "(value ${data[i]} at index $i)");
               }
  -            list[i] = data[i] ^ maskBytes[i % 4];
  +            list[i] = data[i] ^ maskBytes[i & 3];
             }
           }
           data = list;
  
positive.code: 
      Random random = new Random();
      // Generate 16 random bytes.
      List<int> nonceData = new List<int>(16);
      for (int i = 0; i < 16; i++) {
        nonceData[i] = random.nextInt(256);
      }
  
negative.code:     switch (_opcode) {
        case _WebSocketOpcode.CLOSE:
          closeCode = WebSocketStatus.NO_STATUS_RECEIVED;
          if (_payload.length > 0) {
            var bytes = _payload.takeBytes();
            if (bytes.length == 1) {
              throw new WebSocketException("Protocol error");
            }
            closeCode = bytes[0] << 8 | bytes[1];
            if (closeCode == WebSocketStatus.NO_STATUS_RECEIVED) {
              throw new WebSocketException("Protocol error");
            }
            if (bytes.length > 2) {
              closeReason = UTF8.decode(bytes.sublist(2));
            }
          }
          _state = CLOSED;
  