If an attribute in an HTML document contains escaped characters, those characters are un-escaped when the HtmlDocument class builds the DOM. This means that we can't be guaranteed that the DOM will reproduce the original HTML when it is written out using WriteTo().
For example, a tag such as this will be converted into invalid HTML if it is converted into an HtmlNode and then written out:
<meta name="ajs-editor.loader.resources" content="<link type="text/css" rel="stylesheet" href="/s/d41d8cd98f00b204e9800998ecf8427e/en_GB-1988229788/4733/f235dd088df5682b0560ab6fc66ed22c9124c0be.3/7b3a13c140c13e9ca5f4681905edf481/_/download/contextbatch/css/editor,macro-browser,fullpage-editor,-atl.general/batch.css" media="all">
<link type="text/css" rel="stylesheet" href="/s/d41d8cd98f00b204e9800998ecf8427e/en_GB-1988229788/4733/f235dd088df5682b0560ab6fc66ed22c9124c0be.3/7b3a13c140c13e9ca5f4681905edf481/_/download/contextbatch/css/editor,macro-browser,fullpage-editor,-atl.general/batch.css?media=%28max-width%3A+1450px%29" media="(max-width: 1450px)">
<!--[if lt IE 9]>
<link type="text/css" rel="stylesheet" href="/s/d41d8cd98f00b204e9800998ecf8427e/en_GB-1988229788/4733/f235dd088df5682b0560ab6fc66ed22c9124c0be.3/7b3a13c140c13e9ca5f4681905edf481/_/download/contextbatch/css/editor,macro-browser,fullpage-editor,-atl.general/batch.css?conditionalComment=lt+IE+9" media="all">
<![endif]-->
<script type="text/javascript" src="/s/d41d8cd98f00b204e9800998ecf8427e/en_GB-1988229788/4733/f235dd088df5682b0560ab6fc66ed22c9124c0be.3/7b3a13c140c13e9ca5f4681905edf481/_/download/contextbatch/js/editor,macro-browser,fullpage-editor,-atl.general/batch.js" ></script>
">