/// <summary>
 /// Dispose of the controller object.
 /// </summary>
 public virtual void Dispose()
 {
     this.inputFilter  = null;
     this.outputFilter = null;
     this.dataToSend.Clear();
     this.dataReceived.Clear();
 }
 /// <summary>
 /// Add an input filter to the controller. All incoming data will be
 /// sent through the filter before being registered.
 /// </summary>
 /// <param name="Filter">A filter for pre-processing data as it is received by the controller</param>
 public void AddInputFilter(AbstractDataFilter <byte> Filter)
 {
     if (inputFilter == null)
     {
         inputFilter = Filter;
     }
     else
     {
         inputFilter.AddFilter(Filter);
     }
 }
 /// <summary>
 /// Add an output filter to the controller. All outgoing data will be
 /// sent through the filter before being sent to the output.
 /// </summary>
 /// <param name="Filter">A filter for pre-processing data before it is send by the controller</param>
 public void AddOutputFilter(AbstractDataFilter <byte> Filter)
 {
     if (outputFilter == null)
     {
         outputFilter = Filter;
     }
     else
     {
         outputFilter.AddFilter(Filter);
     }
 }
 /// <summary>
 /// Remove filters from the controller.
 /// </summary>
 public void ClearFilters()
 {
     this.inputFilter  = null;
     this.outputFilter = null;
 }
 /// <summary>
 /// Dispose of the controller object.
 /// </summary>
 public virtual void Dispose()
 {
     this.inputFilter = null;
     this.outputFilter = null;
     this.dataToSend.Clear();
     this.dataReceived.Clear();
 }
 /// <summary>
 /// Remove filters from the controller.
 /// </summary>
 public void ClearFilters()
 {
     this.inputFilter = null;
     this.outputFilter = null;
 }
 /// <summary>
 /// Add an output filter to the controller. All outgoing data will be
 /// sent through the filter before being sent to the output. 
 /// </summary>
 /// <param name="Filter">A filter for pre-processing data before it is send by the controller</param>
 public void AddOutputFilter(AbstractDataFilter<byte> Filter)
 {
     if (outputFilter == null)
         outputFilter = Filter;
     else
         outputFilter.AddFilter(Filter);
 }
 /// <summary>
 /// Add an input filter to the controller. All incoming data will be
 /// sent through the filter before being registered. 
 /// </summary>
 /// <param name="Filter">A filter for pre-processing data as it is received by the controller</param>
 public void AddInputFilter(AbstractDataFilter<byte> Filter)
 {
     if (inputFilter == null)
         inputFilter = Filter;
     else
         inputFilter.AddFilter(Filter);
 }