public void Invoke(Action <Exception> onException, DelegateCollectionInvokeOptions options, params object[] args)
 {
     if ((options & DelegateCollectionInvokeOptions.RemoveDelegates) != DelegateCollectionInvokeOptions.None)
     {
         _invokeAndClearWithException(onException, args);
     }
     else
     {
         _invokeWithException(onException, args);
     }
 }
 public void Invoke(DelegateCollectionInvokeOptions options, params object[] args)
 {
     if ((options & DelegateCollectionInvokeOptions.RemoveDelegates) != DelegateCollectionInvokeOptions.None)
     {
         _invokeAndClear(args);
     }
     else
     {
         _invoke(args);
     }
 }