void WriteAnyElementContent(XmlTypeMapMemberAnyElement member, object memberValue)
        {
            //
            // XmlAnyElement can be of XmlElement or XmlNode type
            //
            if (member.TypeData.Type == typeof(XmlElement) || member.TypeData.Type == typeof(XmlNode))
            {
                memberValue = new object[] { memberValue };
            }

            Array elems = (Array)memberValue;

            foreach (var elem_ in elems)
            {
                XmlNode elem = elem_ as XmlNode;
                if (elem == null)
                {
                    throw new InvalidOperationException(String.Format("XmlAnyElementAttribute can only be applied to members of type XmlElement, XmlElement[] or XmlNode[]. The target object is {0}", elem_ != null ? elem_.GetType() : null));
                }
                if (elem is XmlElement)
                {
                    if (member.IsElementDefined(elem.Name, elem.NamespaceURI))
                    {
                        if (_format == SerializationFormat.Literal)
                        {
                            WriteElementLiteral(elem, "", "", false, true);
                        }
                        else
                        {
                            WriteElementEncoded(elem, "", "", false, true);
                        }
                    }
                    else
                    {
                        throw CreateUnknownAnyElementException(elem.Name, elem.NamespaceURI);
                    }
                }
                else
                {
                    elem.WriteTo(Writer);
                }
            }
        }