// Token: 0x060076D7 RID: 30423 RVA: 0x0021F690 File Offset: 0x0021D890
        protected override bool Purge(object source, object data, bool purgeAll)
        {
            StaticPropertyChangedEventManager.TypeRecord typeRecord = (StaticPropertyChangedEventManager.TypeRecord)data;
            bool result = typeRecord.Purge(purgeAll);

            if (!purgeAll && typeRecord.IsEmpty)
            {
                base.Remove(typeRecord.Type);
            }
            return(result);
        }
 // Token: 0x060076D9 RID: 30425 RVA: 0x0021F6FC File Offset: 0x0021D8FC
 private void PrivateAddHandler(Type type, EventHandler <PropertyChangedEventArgs> handler, string propertyName)
 {
     using (base.WriteLock)
     {
         StaticPropertyChangedEventManager.TypeRecord typeRecord = (StaticPropertyChangedEventManager.TypeRecord) base[type];
         if (typeRecord == null)
         {
             typeRecord = new StaticPropertyChangedEventManager.TypeRecord(type, this);
             base[type] = typeRecord;
             typeRecord.StartListening();
         }
         typeRecord.AddHandler(handler, propertyName);
     }
 }
 // Token: 0x060076DA RID: 30426 RVA: 0x0021F75C File Offset: 0x0021D95C
 private void PrivateRemoveHandler(Type type, EventHandler <PropertyChangedEventArgs> handler, string propertyName)
 {
     using (base.WriteLock)
     {
         StaticPropertyChangedEventManager.TypeRecord typeRecord = (StaticPropertyChangedEventManager.TypeRecord) base[type];
         if (typeRecord != null)
         {
             typeRecord.RemoveHandler(handler, propertyName);
             if (typeRecord.IsEmpty)
             {
                 typeRecord.StopListening();
                 base.Remove(typeRecord.Type);
             }
         }
     }
 }
 // Token: 0x060076DB RID: 30427 RVA: 0x0021F7C0 File Offset: 0x0021D9C0
 private void OnStaticPropertyChanged(StaticPropertyChangedEventManager.TypeRecord typeRecord, PropertyChangedEventArgs args)
 {
     WeakEventManager.ListenerList listenerList;
     using (base.ReadLock)
     {
         listenerList = typeRecord.GetListenerList(args.PropertyName);
         listenerList.BeginUse();
     }
     try
     {
         base.DeliverEventToList(null, args, listenerList);
     }
     finally
     {
         listenerList.EndUse();
     }
     if (listenerList == typeRecord.ProposedAllListenersList)
     {
         using (base.WriteLock)
         {
             typeRecord.StoreAllListenersList((WeakEventManager.ListenerList <PropertyChangedEventArgs>)listenerList);
         }
     }
 }
 // Token: 0x06008DEC RID: 36332 RVA: 0x0025AAB7 File Offset: 0x00258CB7
 public PropertyRecord(string propertyName, StaticPropertyChangedEventManager.TypeRecord owner, WeakEventManager.ListenerList <PropertyChangedEventArgs> list)
 {
     this._propertyName = propertyName;
     this._typeRecord   = owner;
     this._list         = list;
 }
 // Token: 0x06008DEB RID: 36331 RVA: 0x0025AAA8 File Offset: 0x00258CA8
 public PropertyRecord(string propertyName, StaticPropertyChangedEventManager.TypeRecord owner) : this(propertyName, owner, new WeakEventManager.ListenerList <PropertyChangedEventArgs>())
 {
 }