private byte[] AssembleSegments()
{
int count = 0;
foreach (byte[] arr in m_segments)
count += arr.Length;
byte[] ret = new byte[count];
count = 0;
foreach (byte[] arr in m_segments)
{
Array.Copy(arr, 0, ret, count, arr.Length);
count += arr.Length;
}
return ret;
}