private void RemoveEvents()
 {
     if (Captured != null)
     {
         foreach (Delegate d in Captured.GetInvocationList())
         {
             Captured -= (CapturedEventHandler)d;
         }
     }
     if (ReceiveData != null)
     {
         foreach (Delegate d in ReceiveData.GetInvocationList())
         {
             ReceiveData -= (DataReceivedHandler)d;
         }
     }
 }