internal static RazorHtmlDocument GetHtmlDocument(this RazorCodeDocument document) { if (document == null) { throw new ArgumentNullException(nameof(document)); } var razorHtmlObj = document.Items[typeof(RazorHtmlDocument)]; if (razorHtmlObj == null) { var razorHtmlDocument = RazorHtmlWriter.GetHtmlDocument(document); if (razorHtmlDocument != null) { document.Items[typeof(RazorHtmlDocument)] = razorHtmlDocument; return(razorHtmlDocument); } } return((RazorHtmlDocument)razorHtmlObj); }