public void Serialize()
{
var doc = new XDocument(new XDeclaration("1.0", null, null));
var elementName = messageType.SerializationFriendlyName();
doc.Add(new XElement(elementName));
WriteObject(doc.Root, elementName, messageType, message, true);
SetDefaultNamespace(doc.Root, $"{@namespace}/{messageType.Namespace}");
ForceEmptyTagsWithNewlines(doc);
doc.WriteTo(writer);
writer.Flush();
}