public override void ResetValue(object component)
            {
                AugmentedBindable <T> c = ((AugmentedBindable <T>)component);

                pd.ResetValue(c.underlying);
                c.NotifyPropertyChanged(pd.Name);
            }
            public override void SetValue(object component, object value)
            {
                // This is a horrible hack because I can't work out why the syncfusion grid CancelEdits a row if you type something over a null value...
                if (null == value)
                {
                    Logging.Warn("Ignoring null SetValue - remember to check with Syncfusion");
                    return;
                }

                AugmentedBindable <T> c = ((AugmentedBindable <T>)component);

                pd.SetValue(c.underlying, value);
                c.NotifyPropertyChanged(pd.Name);
            }