/// <summary>
        /// перезагрузка дерева
        /// </summary>
        public void ReloadTree(int?ActiveNode_ID = null)
        {
            var fnd = new Dictionary <object, Stack>();
            FreeHierarchyTypeTreeItem obj = null;

            Manager.User.ReloadFreeHierarchyTypes(Manager.UI.ShowMessage);

            LoadTypes(_currentRightFilter, new HashSet <long> {
                ActiveNode_ID ?? -101
            }, _isDeclaratorMainTree);


            var allNodes = GlobalFreeHierarchyDictionary.GetTypes(_currentRightFilter);



            if (allNodes != null)
            {
                allNodes.TryGetValue(ActiveNode_ID ?? -101, out obj);
            }
            if (obj == null)
            {
                return;
            }

            //fnd[obj] = obj.GetParents();

            ActiveTreeNode = obj;


            Dispatcher.BeginInvoke(DispatcherPriority.ApplicationIdle, new System.Action(delegate()
            {
                try
                {
                    XamTreeFinder.ExpandAndSelectXamTree(fnd, obj, tree);
                }
                catch
                {
                    //ошибки бывают..
                }
            }));
        }