public void UnsubscribeFromNewElementProviderRootEntitiesEvent(HookingFacade.NewElementProviderRootEntitiesDelegate newElementProviderRootEntitiesDelegate)
 {
     lock (_lock)
     {
         _newElementProviderRootEntitiesEvent -= newElementProviderRootEntitiesDelegate;
     }
 }
 public void SubscribeToNewElementProviderRootEntitiesEvent(HookingFacade.NewElementProviderRootEntitiesDelegate newElementProviderRootEntitiesDelegate)
 {
     lock (_lock)
     {
         _newElementProviderRootEntitiesEvent += newElementProviderRootEntitiesDelegate;
     }
 }
        public void FireNewElementProviderRootEntitiesEvent(string providerName)
        {
            Verify.ArgumentNotNullOrEmpty(providerName, "providerName");

            lock (_lock)
            {
                EnsureInitialization();

                HookingFacade.NewElementProviderRootEntitiesDelegate del = _newElementProviderRootEntitiesEvent;

                if (del != null)
                {
                    del(new HookingFacadeEventArgs(providerName));
                }
            }
        }