private void Write40_ArjHeader(string n, string ns, ArjHeader o, bool needType)
 {
     if (!needType && (o.GetType() != typeof(ArjHeader)))
     {
         throw base.CreateUnknownTypeException(o);
     }
     base.WriteStartElement(n, ns, o, false, null);
     if (needType)
     {
         base.WriteXsiType("ArjHeader", "");
     }
     base.WriteElementStringRaw("Mark", "", XmlConvert.ToString(o.Mark));
     base.WriteElementStringRaw("HeadSize", "", XmlConvert.ToString(o.HeadSize));
     base.WriteElementStringRaw("FirstHeadSize", "", XmlConvert.ToString(o.FirstHeadSize));
     base.WriteElementStringRaw("ArjVer", "", XmlConvert.ToString(o.ArjVer));
     base.WriteElementStringRaw("ArjExtrVer", "", XmlConvert.ToString(o.ArjExtrVer));
     base.WriteElementStringRaw("HostOS", "", XmlConvert.ToString(o.HostOS));
     base.WriteElementStringRaw("Flags", "", XmlConvert.ToString(o.Flags));
     base.WriteElementStringRaw("Method", "", XmlConvert.ToString(o.Method));
     base.WriteElementStringRaw("FileType", "", XmlConvert.ToString(o.FileType));
     base.WriteElementStringRaw("Reserved", "", XmlConvert.ToString(o.Reserved));
     base.WriteElementStringRaw("ftime", "", XmlConvert.ToString(o.ftime));
     base.WriteElementStringRaw("PackSize", "", XmlConvert.ToString(o.PackSize));
     base.WriteElementStringRaw("UnpSize", "", XmlConvert.ToString(o.UnpSize));
     base.WriteElementStringRaw("CRC", "", XmlConvert.ToString(o.CRC));
     base.WriteElementStringRaw("FileSpec", "", XmlConvert.ToString(o.FileSpec));
     base.WriteElementStringRaw("AccessMode", "", XmlConvert.ToString(o.AccessMode));
     base.WriteElementStringRaw("HostData", "", XmlConvert.ToString(o.HostData));
     base.WriteEndElement(o);
 }