public void PropertyValueChanging(DataContainer dataContainer, PropertyDefinition propertyDefinition, object oldValue, object newValue)
        {
            ArgumentUtility.CheckNotNull("dataContainer", dataContainer);
            ArgumentUtility.CheckNotNull("propertyDefinition", propertyDefinition);

            Assertion.DebugAssert(dataContainer.HasDomainObject, "DataContainerEventListener is only used for registered DataContainers.");
            if (!propertyDefinition.IsObjectID)
            {
                _eventSink.RaisePropertyValueChangingEvent(dataContainer.DomainObject, propertyDefinition, oldValue, newValue);
            }
        }