public ConverterResult Convert(ConverterContext context)
        {
            ConverterResult result = null;

            if (!supportedDestinationTypes.Contains(context.DestinationType) || typeof(IConvertible).IsAssignableFrom(context.SourceType))
            {
                result = new ConverterResult(success: false);
            }
            else
            {
                try
                {
                    result = new ConverterResult(
                        result: ((IConvertible)context.Source).ToType(context.DestinationType, context.FormatProvider),
                        success: true
                    );
                }
                catch (Exception ex)
                {
                    result = new ConverterResult(
                        exception: ex,
                        success: false
                    );
                }
            }

            return result;
        }
        public ConverterResult Convert(ConverterContext context)
        {
            ConverterResult result = null;

            var converter = GetConverter(context.DestinationType);

            try
            {
                result = new ConverterResult(
                    result: converter.ConvertFrom(context.Source),
                    success: true);
            }
            catch (Exception ex)
            {
                result = new ConverterResult(
                    exception: ex,
                    success: false);
            }

            return result;
        }