void Write2_CiscoIPPhoneMenuItemType(string n, string ns, CiscoIPPhoneMenuItemType o, bool isNullable, bool needType) {
     if ((object)o == null) {
         if (isNullable) WriteNullTagLiteral(n, ns);
         return;
     }
     if (!needType) {
         System.Type t = o.GetType();
         if (t == typeof(CiscoIPPhoneMenuItemType)) {
         }
         else {
             throw CreateUnknownTypeException(o);
         }
     }
     WriteStartElement(n, ns, o, false, null);
     if (needType) WriteXsiType(@"CiscoIPPhoneMenuItemType", @"");
     WriteNullableStringLiteral(@"Name", @"", ((global::System.String)o.@Name));
     WriteNullableStringLiteral(@"URL", @"", ((global::System.String)o.@URL));
     WriteEndElement(o);
 }