/// <summary>
        /// Simulates processing a large file by slowly incrementing the count for the given device ID
        /// </summary>
        /// <param name="deviceID">The given device ID</param>
        /// <param name="eventLog">Not used</param>
        public void ParseEvents(string deviceID, StreamReader eventLog)
        {
            DeviceRecord deviceRecord = this.deviceEventList.FirstOrDefault(d => d.DeviceID == deviceID);

            if (deviceRecord == null)
            {
                deviceRecord = new DeviceRecord()
                {
                    DeviceID = deviceID, EventCount = 0
                };
                this.deviceEventList.Add(deviceRecord);
            }

            deviceRecord.IsProcessing = true;

            Random rand = new Random(DateTime.Now.Millisecond);

            for (int i = 0; i < 10; i++)
            {
                Thread.Sleep(rand.Next(500, 2000));
                deviceRecord.EventCount++;
            }

            deviceRecord.IsProcessing = false;
        }
        /// <summary>
        /// Returns details of the given device
        /// </summary>
        /// <param name="deviceID">The given device ID</param>
        /// <returns>The current number of events</returns>
        public int GetEventCount(string deviceID)
        {
            DeviceRecord deviceRecord = this.deviceEventList.FirstOrDefault(d => d.DeviceID == deviceID);

            if (deviceRecord == null)
            {
                return(-1);
            }

            return(deviceRecord.EventCount);
        }