internal void RemoveAllLocalChilds()
        {
            for (int i = 0; i < m_files.Count;)
            {
                FSNodeFile fsnf = m_files.Values[i];
                if (!(fsnf is FSNodeVirtualFile))
                {
                    fsnf.RemoveSelf();
                }
                else
                {
                    i++;
                    if (m_tree != null)
                    {
                        m_tree.InvokeNodeFileIsVirtualChanged((FSNodeVirtualFile)fsnf);
                    }
                }
            }

            for (int i = 0; i < m_subdirs.Count;)
            {
                FSNodeDir fsnd = m_subdirs.Values[i];
                if (!fsnd.m_hasVirtual)
                {
                    fsnd.RemoveSelf();
                }
                else
                {
                    fsnd.RemoveAllLocalChilds();
                    i++;
                }
            }
            LocalCountZero();
        }