public void RaiseRelationChangingEvent( DomainObject domainObject, IRelationEndPointDefinition relationEndPointDefinition, DomainObject oldRelatedObject, DomainObject newRelatedObject) { ArgumentUtility.CheckNotNull("domainObject", domainObject); ArgumentUtility.CheckNotNull("relationEndPointDefinition", relationEndPointDefinition); _listenerCollection.RelationChanging(_clientTransaction, domainObject, relationEndPointDefinition, oldRelatedObject, newRelatedObject); _extensionCollection.RelationChanging(_clientTransaction, domainObject, relationEndPointDefinition, oldRelatedObject, newRelatedObject); using (EnterScopeOnDemand()) { domainObject.OnRelationChanging(new RelationChangingEventArgs(relationEndPointDefinition, oldRelatedObject, newRelatedObject)); } }