public void Traverse(TreeNode parent)
{
foreach (TreeNode child in parent.Children)
{
//calculate string coverage
if (child.BelongsToStrings.Count == 2)
{
if (child.stringDepth > deepestCommonNode.nodeDepth)
deepestCommonNode = child;
Traverse(child);
}
}
}