private Hashtable CopyChildren(object currentContent, int tagIndex) {
IDictionaryEnumerator contentEnumerator = ((Hashtable)currentContent).GetEnumerator();
Hashtable newTable = CreateHashtable();
while(contentEnumerator.MoveNext()) {
if (tagIndex < (this.TagNames.Length -1))
newTable[contentEnumerator.Key] = CopyChildren(contentEnumerator.Value, tagIndex + 1);
else
newTable[contentEnumerator.Key] = contentEnumerator.Value;
}
return newTable;
}