internal static void AddGiveFeedbackHandler(DependencyObject element, CustomGiveFeedbackEventHandler handler, bool handledEventsToo)
 {
     if (element == null)
     {
         throw new ArgumentNullException("element");
     }
     if (handler == null)
     {
         throw new ArgumentNullException("handler");
     }
     CustomExtendedRoutedEventHandlerCollection<CustomGiveFeedbackEventHandler, CustomGiveFeedbackEventArgs> giveFeedbackHandlers = element.GetGiveFeedbackHandlers();
     CustomExtendedRoutedEventHandlerCollection<CustomGiveFeedbackEventHandler, CustomGiveFeedbackEventArgs> handlers2 = giveFeedbackHandlers ?? new CustomExtendedRoutedEventHandlerCollection<CustomGiveFeedbackEventHandler, CustomGiveFeedbackEventArgs>((h, a) => h(element, a));
     handlers2.Add(handler, handledEventsToo);
     if (handlers2 != giveFeedbackHandlers)
     {
         element.SetValue(GiveFeedbackHandlerProperty, handlers2);
     }
 }
 internal static void RemoveGiveFeedbackHandler(DependencyObject element, CustomGiveFeedbackEventHandler handler)
 {
     if (element == null)
     {
         throw new ArgumentNullException("element");
     }
     if (handler == null)
     {
         throw new ArgumentNullException("handler");
     }
     CustomExtendedRoutedEventHandlerCollection<CustomGiveFeedbackEventHandler, CustomGiveFeedbackEventArgs> giveFeedbackHandlers = element.GetGiveFeedbackHandlers();
     if (giveFeedbackHandlers != null)
     {
         giveFeedbackHandlers.Remove(handler);
     }
 }
 internal static void AddGiveFeedbackHandler(DependencyObject element, CustomGiveFeedbackEventHandler handler)
 {
     AddGiveFeedbackHandler(element, handler, false);
 }