/// <summary>
        /// Adds the possible value.
        /// </summary>
        /// <param name="possibleValue">The possible value.</param>
        /// <param name="key">The key.</param>
        public void AddPossibleValue(UPMCatalogPossibleValue possibleValue, string key = null)
        {
            if (possibleValue == null)
            {
                return;
            }

            if (this.possibleValues == null)
            {
                this.possibleValues = new Dictionary <string, UPMCatalogPossibleValue>();
            }

            this.possibleValues.SetObjectForKey(possibleValue, possibleValue.Key);

            if (string.IsNullOrEmpty(possibleValue.TitleLabelFieldStringValue))
            {
                possibleValue.TitleLabelField.StringValue = LocalizedString.TextEmptyCatalog;
            }

            this.ListBoxDataContext.Add(possibleValue);
        }