int GetInsertIndexForNode(TreeNode node)
{
TreeNode prevNode = node.GetPrevSibling();
if (prevNode == null)
prevNode = node.parent;
int insertIndex = list.GetChildIndex(prevNode.cell) + 1;
int myLevel = node.level;
int cnt = list.numChildren;
for (int i = insertIndex; i < cnt; i++)
{
TreeNode testNode = (TreeNode)list.GetChildAt(i).data;
if (testNode.level <= myLevel)
break;
insertIndex++;
}
return insertIndex;
}