/// <summary>
        /// Сериализация объекта карты в поток
        /// </summary>
        /// <param name="Object">Объект карты</param>
        /// <param name="Stream">Поток</param>
        private void Serialize(object Object, Stream Stream)
        {
            if (Object == null)
            {
                throw new ArgumentNullException("Object", "Object for serialization cannot be null");
            }
            if (Stream == null)
            {
                throw new ArgumentNullException("Stream", "Stream for serialization cannot be null");
            }

            using (BinaryWriter writer = new BinaryWriter(Stream))
            {
                MapSerializeHelper.SerializeSerializer(writer, this);
                MapSerializeHelper.Serialize(writer, Object);
            }
        }
        /// <summary>
        /// Сериализация объекта карты
        /// </summary>
        /// <param name="Object">Объект</param>
        /// <returns>Сериализованные данные</returns>
        private byte[] Serialize(object Object)
        {
            if (Object == null)
            {
                throw new ArgumentNullException("Object", "Object for serialization cannot be null");
            }

            byte[] data;

            using (MemoryStream stream = new MemoryStream())
            {
                using (BinaryWriter writer = new BinaryWriter(stream))
                {
                    MapSerializeHelper.SerializeSerializer(writer, this);
                    MapSerializeHelper.Serialize(writer, Object);
                    stream.Seek(0, SeekOrigin.Begin);
                    data = new byte[stream.Length];
                    stream.Read(data, 0, data.Length);
                }
            }

            return(data);
        }