/// <summary>
        /// Добавление всех значений существующих в переопределенных классах и обозначение их как "нестираемых"
        /// </summary>
        /// <param name="contextItem"></param>
        public void AddReadonly(ContextItemBase contextItem)
        {
            Add(contextItem);

            foreach (DictionaryEntry entry in contextItem.GetValues())
            {
                if (!_forcedValues.Contains((string)entry.Key))
                {
                    _forcedValues.Add((string)entry.Key);
                } //if
            }
        }
        /// <summary>
        /// Добавление всех значений существующих в переопределенных классах.
        /// </summary>
        /// <param name="contextItem">Пункт контекста.</param>
        public void Add(ContextItemBase contextItem)
        {
            var ht = contextItem.GetValues();

            foreach (DictionaryEntry entry in ht)
            {
                if (!_values.ContainsKey((string)entry.Key))
                {
                    _values.Add((string)entry.Key, entry.Value);
                } //if
                else
                {
                    _values[(string)entry.Key] = entry.Value;
                } //else
            }     //foreach
        }