/// <summary>
        /// Инициализация данных в клонируемом объекте данными текущего объекта.
        /// Наследники, имеющие свои член-данные, должны перегрузить метод и инициализировать эти данные в этом методе.
        /// </summary>
        /// <param name="clone"> Объект для инициализации </param>
        protected override void InitClone(QueryGridFilterBase clone)
        {
            if (clone == null)
            {
                return;
            }

            base.InitClone(clone);
            if (clone is QueryGridStringFilterBase)
            {
                QueryGridStringFilterBase stringBaseFilter = clone as QueryGridStringFilterBase;
                stringBaseFilter.nulls = nulls;
                stringBaseFilter.caseSensitive = caseSensitive;
                stringBaseFilter.exactSearch = exactSearch;
            }
        }
        /// <summary>
        /// Инициализация данных в клонируемом объекте данными текущего объекта.
        /// Наследники, имеющие свои член-данные, должны перегрузить метод и инициализировать эти данные в этом методе.
        /// </summary>
        /// <param name="clone"> Объект для инициализации. </param>
        protected virtual void InitClone(QueryGridFilterBase clone)
        {
            if (clone == null)
            {
                return;
            }

            clone.Value = (FilterValue)Value.Clone();
            clone.Type = type;
        }