private void SaveTreeNodeState(TreeNodeCollection collection)
{
foreach (TreeNode tn in collection) {
if (tn.IsExpanded) {
_expandedNodes.Add(GenerateTreeNodeFullPath(tn, multiSelectTreeviewElementsGroups.PathSeparator));
}
if (multiSelectTreeviewElementsGroups.SelectedNodes.Contains(tn)) {
_selectedNodes.Add(GenerateTreeNodeFullPath(tn, multiSelectTreeviewElementsGroups.PathSeparator));
}
SaveTreeNodeState(tn.Nodes);
}
}