protected override void InternalSetValue(PropertyBag.BasicPropertyStore propertyBag, object value)
 {
     if (!propertyBag.CanIgnoreUnchangedProperties || (this.CompositeProperty.PropertyFlags & PropertyFlags.SetIfNotChanged) == PropertyFlags.SetIfNotChanged || !propertyBag.IsLoaded(this.CompositeProperty) || !object.Equals(this.InternalTryGetValue(propertyBag), value))
     {
         propertyBag.SetValueWithFixup(this.CompositeProperty, value);
     }
 }
 protected override void InternalSetValue(PropertyBag.BasicPropertyStore propertyBag, object value)
 {
     if (propertyBag.CanIgnoreUnchangedProperties && (base.PropertyFlags & PropertyFlags.SetIfNotChanged) != PropertyFlags.SetIfNotChanged && propertyBag.IsLoaded(this) && Util.ValueEquals(value, propertyBag.GetValue(this)))
     {
         return;
     }
     propertyBag.SetValue(this, value);
 }