private static void ParseControlFrameHeader(ref ControlFrame frame, byte[] data)
{
frame.Version = BinaryHelper.Int16FromBytes(data[0], data[1], 1);
frame.Type = (FrameType)BinaryHelper.Int16FromBytes(data[2], data[3]);
frame.Flags = data[4]; // it would be always 4 th byte for flags in spec.
frame.Length = BinaryHelper.Int32FromBytes(new ArraySegment<byte>(data, 5, 3));
frame.IsFinal = (frame.Flags & 0x01) != 0;
}