internal object Get(Enum valueName, Type valueType, FlattenDataProvider <TEntity> provider = null)
        {
            valueName.CheckValueType(valueType);

            var key = valueName.ToString();

            if (!string.IsNullOrEmpty(Data))
            {
                var settings = this.GetByKey(key, valueType);

                if (settings != null)
                {
                    return(settings);
                }
            }

            return(Parent != null
                ? this.GetFromParent(valueName, valueType, provider)
                : null);
        }