protected virtual void OnRemovedFromCollection(CodeSourceCollection aCollection)
 {
     if (--iReferenceCount <= 0)
     {
         this.Dispose();
     }
 }
 internal void RemovedFromCollection(CodeSourceCollection aCollection)
 {
     OnRemovedFromCollection(aCollection);
 }
 internal void AddedToCollection(CodeSourceCollection aCollection)
 {
     OnAddedToCollection(aCollection);
 }
 protected virtual void OnAddedToCollection(CodeSourceCollection aCollection)
 {
     ++iReferenceCount;
 }