/// <inheritdoc/>
    public object?ConvertBack(object?value, Type?targetType, object?parameter, CultureInfo culture)
    {
        if (Application.Current is PrismApplication prismApplication)
        {
            ILocalization localization = prismApplication.Container.Resolve <ILocalization>();

            if (value != null && targetType != null)
            {
                if (targetType.IsGenericType && targetType.GetGenericTypeDefinition() == typeof(Nullable <>))
                {
                    targetType = targetType.GetGenericArguments()[0];
                }

                Dictionary <string, string> allValues = localization.GetAllValuesFor(targetType.Name);
                string?valAsString = value.ToString();
                string key         = allValues.FirstOrDefault(x => x.Value == valAsString).Key;
                return(Enum.Parse(targetType, key));
            }
        }

        return(Binding.DoNothing);
    }