private void obtenerHijos(squishyTREE.TreeNode nodo)
        {
            string key = "n" + i;

            squishyTREE.TreeNode hijo;
            if (nodo != null)
            {
                //if (nodo.IsChecked)
                //opciones.Add(nodo.Text);
                hijo = nodo.FindTreeNode(key);
            }
            else
            {
                return;
            }

            // obtengo los hijos del nodo actual
            if (hijo != null)
            {
                //i++;
                obtenerHijos(hijo);
            }
            else
            {
                i++;
                obtenerHijos(nodo.NextSibling());
            }
        }
        private void obtenerHijosV2(squishyTREE.TreeNode nodo)
        {
            int    k = 1;
            string key;

            squishyTREE.TreeNode nodoLocal;

            while (nodo != null)
            {
                // busco los hijos de N(k)
                k++;
                key       = "n" + k;
                nodoLocal = nodo.FindTreeNode(key);

                if (nodoLocal != null)
                {
                    if (nodoLocal.IsChecked)
                    {
                        //opciones.Add(nodoLocal.Text);
                        if (!(opciones.Contains(nodoLocal.Text)))
                        {
                            opciones.Add(nodoLocal.Text, nodoLocal.Text);
                        }
                        obtenerHijosV2(nodoLocal);
                    }
                }
                else
                {
                    break;
                }
            }
        }