internal bool RemoveAll(EventSubscriberCollection subscriberCollection, object subscriber)
        {
            var func = Interlocked.CompareExchange(ref this.removeAll, null, null);

            if (func.NullReference())
            {
                func = GenerateRemoveAll();
                Interlocked.CompareExchange(ref this.removeAll, func, null);
            }
            return(func(subscriberCollection, subscriber));
        }
        internal bool AddAll(EventSubscriberCollection subscriberCollection, object subscriber, bool weakRef)
        {
            var func = Interlocked.CompareExchange(ref this.addAll, null, null);

            if (func.NullReference())
            {
                func = GenerateAddAll();
                Interlocked.CompareExchange(ref this.addAll, func, null);
            }
            return(func(subscriberCollection, subscriber, weakRef));
        }