public Memory _getMemory(string treeScope, string nodeScope)
        {
            Memory memory = this._baseMemory;

            if (treeScope.Length > 0)
            {
                TreeMemory treeMem = this._getTreeMemory(treeScope);
                memory = treeMem._memory;
                if (nodeScope.Length > 0)
                {
                    memory = this._getNodeMemory(treeMem, nodeScope);
                }
            }
            return(memory);
        }
        public TreeMemory _getTreeMemory(string treeScope)
        {
            TreeMemory item;

            if (this._treeMemory.ContainsKey(treeScope) == false)
            {
                item = new TreeMemory();
                this._treeMemory.Add(treeScope, item);
            }
            else
            {
                item = this._treeMemory[treeScope];
            }
            return(item);
        }
        public Memory _getNodeMemory(TreeMemory treeMemory, string nodeScope)
        {
            Memory item;
            Dictionary <string, Memory> memory = treeMemory._nodeMemory;

            if (memory.ContainsKey(nodeScope) == false)
            {
                item = new Memory();
                memory.Add(nodeScope, item);
            }
            else
            {
                item = memory[nodeScope];
            }
            return(item);
        }