private ComboTreeNode GetNextDisplayedNode()
{
bool started = false;
IEnumerator<ComboTreeNode> e = GetNodesRecursive(nodes, false);
while (e.MoveNext()) {
if (started || (selectedNode == null)) {
if (IsNodeVisible(e.Current)) return e.Current;
}
else if (e.Current == selectedNode) {
started = true;
}
}
return null;
}