public static void WritePacket(this Stream stream, byte[] bytes, int count, bool addCount) { if (addCount) { var countBytes = ByteArrayExtensions.GetBytes((int)count); var arr = new byte[count + 4]; Array.Copy(countBytes, arr, 4); Array.Copy(bytes, 0, arr, 4, count); stream.Write(arr, 0, count + 4); } else { stream.Write(bytes, 0, count); } }