/// <summary>
 /// Removes a frame handler from the sensor manager and stops it
 /// </summary>
 /// <param name="handler">Handler to remove</param>
 public void RemoveFrameHandler(AFrameHandler handler)
 {
     if (_frameHandlers.Remove(handler))
     {
         handler.OnStop();
     }
 }
 /// <summary>
 /// Adds a new frame handler to the manager
 /// </summary>
 /// <param name="handler">Frame handler to add</param>
 /// <exception cref="InvalidOperationException">Will raise an InvalidOperationException if the sensor is already open</exception>
 public void AddFrameHandler(AFrameHandler handler)
 {
     if (IsRunning)
     {
         throw new InvalidOperationException("Cannot add a frame handler while the sensor is open");
     }
     _frameHandlers.Add(handler);
 }
 /// <summary>
 /// Adds a new frame handler to the manager
 /// </summary>
 /// <param name="handler">Frame handler to add</param>
 /// <exception cref="InvalidOperationException">Will raise an InvalidOperationException if the sensor is already open</exception>
 public void AddFrameHandler(AFrameHandler handler)
 {
     if (IsRunning)
     {
         throw new InvalidOperationException("Cannot add a frame handler while the sensor is open");
     }
     _frameHandlers.Add(handler);
 }
 /// <summary>
 /// Removes a frame handler from the sensor manager and stops it
 /// </summary>
 /// <param name="handler">Handler to remove</param>
 public void RemoveFrameHandler(AFrameHandler handler)
 {
     if (_frameHandlers.Remove(handler))
     {
         handler.OnStop();
     }
 }