public void CheckForOutOfDateObjectAndOfferToFix() { if (IsDifferent()) { if (_activator.ShouldReloadFreshCopy(_o)) { _o.RevertToDatabaseState(); //if we are not in the middle of a publish already if (!_activator.RefreshBus.PublishInProgress) { _activator.RefreshBus.Publish(this, new RefreshObjectEventArgs(_o)); } } } }