protected virtual void NotifyBefore()
        {
            if (Notification == Notification.Disabled)
            {
                return;
            }
            if (MuteNotify)
            {
                return;
            }
            if (Interceptable != null)
            {
                if (PropertyName.Length > 0)
                {
                    bool   cancel  = false;
                    object newList = List;

                    IInterceptor interceptor = Interceptable.GetInterceptor();
                    if (interceptor != null)
                    {
                        interceptor.NotifyPropertySet(Interceptable, PropertyName, ref newList, OldList, ref cancel);
                        if (cancel)
                        {
                            RollBack();
                        }
                    }
                }
                else
                {
                    throw new NPersistException("Managed list has not been associated with a property of the holder object!");                     // do not localize
                }
            }
            else
            {
                throw new NPersistException("Managed list has not been associated with a holder object!");                 // do not localize
            }
        }