void GetExpandStates (StringBuilder sb, TreeNode node) { if (node.Expanded.HasValue && node.Expanded.Value) { sb.Append (node.Path); sb.Append ('|'); } if (node.HasChildData) { foreach (TreeNode child in node.ChildNodes) GetExpandStates (sb, child); } } }