public void OnRemoveFromDocument(NativeDocumentAdapter doc) { OnRemoveFromDocument_NonHier(doc); // note -- use "Subtree" & not "Children" because this // will allow us to also touch NativeObjectAdapters // that are children of non-native objects // eg: // <<native object>> // <<non-native object> // <<native object>> foreach (DomNode child in DomNode.Subtree) { NativeObjectAdapter childObject = child.As <NativeObjectAdapter>(); if (childObject != null) { childObject.OnRemoveFromDocument_NonHier(doc); } } }