private IEnumerable <XamlNode> ReadObjectNode(XamlDomObject objectNode) { foreach (var nsNode in objectNode.Namespaces) { yield return(XamlNode.GetNamespaceDeclaration(nsNode)); } yield return(XamlNode.GetStartObject(objectNode)); // We want to write out simple things that could be attributes out first if setting is set // We write out single values and things that are MEs if (!_doNotReorder) { foreach (var node in WritePossibleAttributes(objectNode)) { yield return(node); } foreach (var node in WriteElementMembers(objectNode)) { yield return(node); } } else { foreach (var memberNode in objectNode.MemberNodes) { foreach (var node in ReadMemberNode(memberNode)) { yield return(node); } } } yield return(XamlNode.GetEndObject(objectNode)); }