/// <summary>
        /// Activates the dictionary.
        /// </summary>
        private void ActivateDictionary()
        {
            List <ObjectXPathProxy> elements = new List <ObjectXPathProxy>();

            m_elemDict = new Hashtable();

            foreach (DictionaryEntry entry in (IDictionary)binding)
            {
                if (entry.Value == null)
                {
                    continue;
                }

                ObjectXPathProxy item =
                    new ObjectXPathProxy(entry.Value, entry.Value.GetType().Name, this, m_nt);

                elements.Add(item);

                item.AddSpecialName("key", entry.Key.ToString());

                m_elemDict[entry.Key.ToString()] = item;
            }

            m_elements = (elements.Count != 0) ? elements : null;
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="ObjectXPathNavigator"/> class.
        /// </summary>
        /// <param name="obj">The obj.</param>
        public ObjectXPathNavigator(object obj)
        {
            m_docElem = new ObjectXPathProxy(obj, m_nt);

            m_docElem.AddSpecialName("type", obj.GetType().FullName);
        }
        /// <summary>
        /// Activates the dictionary.
        /// </summary>
        private void ActivateDictionary()
        {
            List<ObjectXPathProxy> elements = new List<ObjectXPathProxy>();

            m_elemDict = new Hashtable();

            foreach (DictionaryEntry entry in (IDictionary)binding)
            {
                if (entry.Value == null)
                {
                    continue;
                }

                ObjectXPathProxy item =
                    new ObjectXPathProxy(entry.Value, entry.Value.GetType().Name, this, m_nt);

                elements.Add(item);

                item.AddSpecialName("key", entry.Key.ToString());

                m_elemDict[entry.Key.ToString()] = item;
            }

            m_elements = (elements.Count != 0) ? elements : null;
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="ObjectXPathNavigator"/> class.
        /// </summary>
        /// <param name="obj">The obj.</param>
        public ObjectXPathNavigator(object obj)
        {
            m_docElem = new ObjectXPathProxy(obj, m_nt);

            m_docElem.AddSpecialName("type", obj.GetType().FullName);
        }