// IAutomationFocusChangedEventSource Members
 public void UnloadEventHook()
 {
     _coreLogic.RemoveFocusEvents();
     if (_children != null)
     {
         foreach (AutomationPeer peer in _children)
         {
             IAutomationFocusChangedEventSource unhookEventPeer = peer as IAutomationFocusChangedEventSource;
             if (unhookEventPeer != null)
             {
                 unhookEventPeer.UnloadEventHook();
             }
         }
     }
 }
            // IAutomationFocusChangedEventSource Members

            public void UnloadEventHook()
            {
                _coreLogic.RemoveFocusEvents();
            }