protected override void OnPropertyChanged(string name)
        {
            var idx = _validProperties.IndexOf(name);

            if (idx >= 0)
            {
                var lastPos = _validProperties.Count - 1;
                _validProperties[idx] = _validProperties[lastPos];
                _validProperties.RemoveAt(lastPos);
            }

            base.OnPropertyChanged(name);
        }