/// <summary>
        /// Shutdown this object.
        /// </summary>
        public void Dispose()
        {
            StopThread();

            ClearIncomingData();
            _incomingDataBuffer.Dispose();
            _eventWaitData.Dispose();
        }