private void Worker_ChangedState(object sender, ChangedStateEventArgs e)
        {
            SerialPortWorkerState workerState = e.WorkerState;

            Helper.NLogger.Debug($"Sender: {sender}, has sent state {workerState}");

            SerialPortWorker worker = sender as SerialPortWorker;

            if (worker != null)
            {
                SPClass workerClass = worker.SP_CLASS_TYPE;
                switch (workerState)
                {
                case SerialPortWorkerState.STARTED:
                    break;

                case SerialPortWorkerState.PAUSED:
                    break;

                case SerialPortWorkerState.STOPPED:
                    RemoveWorkerFromCollection(workerClass);
                    break;

                default:
                    break;
                }
            }
        }
        private void StartAllWorkers()
        {
            if (serialPortWorkers.Count < 1)
            {
                CreateAllPossibleWorkersSet();
            }

            for (int i = 0; i < serialPortWorkers.Count; i++)
            {
                SerialPortWorker worker = serialPortWorkers.ElementAt(i).Value;
                worker.StartThisInMonitoring();
                worker.ChangedState += Worker_ChangedState;
            }
        }