public void SetValue(Object sourceModel, object value)
        {
            Type sourceModelType = sourceModel.GetType();

            if (ConverterType != null)
            {
                object coverterObj   = Activator.CreateInstance(ConverterType, null);
                string convertMethod = UseConvertBack ? "ConvertBack" : "Convert";
                value = ConverterType.GetMethod(convertMethod).Invoke(coverterObj, new object[] { value, sourceModelType.GetProperty(PropertyName).PropertyType, null, null });
            }

            sourceModelType.GetProperty(PropertyName)?.SetValue(sourceModel, value);
        }