diff --git a/src/HtmlAgilityPack.Shared/HtmlNode.cs b/src/HtmlAgilityPack.Shared/HtmlNode.cs
index 629833c6..69c5ec29 100644
--- a/src/HtmlAgilityPack.Shared/HtmlNode.cs
+++ b/src/HtmlAgilityPack.Shared/HtmlNode.cs
@@ -2163,12 +2163,17 @@ public void SetParent(HtmlNode parent)
#region Internal Methods
- internal void SetChanged()
+ internal void SetChanged(int level = 0)
{
+ if (level > HtmlDocument.MaxDepthLevel)
+ {
+ throw new ArgumentException(HtmlNode.DepthLevelExceptionMessage);
+ }
+
_changed = true;
if (ParentNode != null)
{
- ParentNode.SetChanged();
+ ParentNode.SetChanged(level + 1);
}
}