private TreeNode GetEdgeTreeNode(Edge edge)
{
TreeNode result = null;
TreeNode root = treeViewHost.Nodes[0];
Stack<TreeNode> todo = new Stack<TreeNode>();
todo.Push(root);
while (todo.Count > 0)
{
TreeNode node = todo.Pop();
if (node.Tag != null && node.Tag is Edge && (node.Tag as Edge) == edge)
{
result = node;
break;
}
foreach (TreeNode tmpNode in node.Nodes)
{
todo.Push(tmpNode);
}
}
return result;
}