public override byte[] ToBytes()
{
List<byte> channelBuffer = new List<byte>();
RdpbcgrEncoder.EncodeStructure(channelBuffer, channelPduHeader);
RdpbcgrEncoder.EncodeBytes(channelBuffer, virtualChannelData);
List<byte> totalBuffer = new List<byte>();
RdpbcgrEncoder.EncodeSlowPathPdu(totalBuffer, commonHeader, channelBuffer.ToArray(), serverSessionContext);
byte[] encodedBytes = RdpbcgrUtility.ToBytes(totalBuffer);
// ToDo: Ugly dump message code here
// ETW Provider Dump Code
RdpbcgrUtility.ETWProviderDump(this.GetType().Name, encodedBytes);
return encodedBytes;
}