/// <summary>
 /// virtual handler for any action to be taken when data is received. Override to use.
 /// </summary>
 /// <param name="oInRep">The input report that was received</param>
 protected virtual void HandleDataReceived(InputReport oInRep)
 {
 }
 /// <summary>
 /// 
 /// </summary>
 /// <param name="oInRep"></param>
 protected override void HandleDataReceived(InputReport oInRep)
 {
     // Fire the event handler if assigned
     if (DataRecieved != null)
     {
         SpecifiedInputReport report = (SpecifiedInputReport)oInRep;
         DataRecieved(this, new DataRecievedEventArgs(report.Data));
     }
 }