/// <summary>
        /// Loads the defined values.
        /// </summary>
        public override void LoadDefinedValues()
        {
            EnsureChildControls();

            if (DefinedTypeId.HasValue)
            {
                var definedTypeCache  = DefinedTypeCache.Get(DefinedTypeId.Value);
                var definedValuesList = definedTypeCache?.DefinedValues
                                        .Where(a => a.IsActive || IncludeInactive || SelectedDefinedValuesId.Contains(a.Id))
                                        .OrderBy(v => v.Order)
                                        .ThenBy(v => v.Value)
                                        .ToList();

                if (definedValuesList != null && definedValuesList.Any())
                {
                    if (EnhanceForLongLists)
                    {
                        LoadListBox(definedValuesList);
                    }
                    else
                    {
                        LoadCheckBoxList(definedValuesList);
                    }
                }
            }
        }
        private void LoadCheckBoxList(List <DefinedValueCache> definedValuesList)
        {
            _cblDefinedValues.Items.Clear();

            foreach (var definedValue in definedValuesList)
            {
                _cblDefinedValues.Items.Add(
                    new ListItem
                {
                    Text     = DisplayDescriptions ? definedValue.Description : definedValue.Value,
                    Value    = definedValue.Id.ToString(),
                    Selected = SelectedDefinedValuesId.Contains(definedValue.Id)
                });
            }
        }
        private void LoadListBox(List <DefinedValueCache> definedValuesList)
        {
            _lboxDefinedValues.Items.Clear();

            if (IncludeEmptyOption)
            {
                _lboxDefinedValues.Items.Add(new ListItem());
            }

            foreach (var definedValue in definedValuesList)
            {
                _lboxDefinedValues.Items.Add(
                    new ListItem
                {
                    Text     = DisplayDescriptions ? definedValue.Description : definedValue.Value,
                    Value    = definedValue.Id.ToString(),
                    Selected = SelectedDefinedValuesId.Contains(definedValue.Id)
                });
            }
        }