/// <summary>
        /// Reset AutoDetection settings
        /// </summary>
        public void Reset()
        {
            CloseLogger();

            if (valueDetector != null)
            {
                valueDetector.Dispose();
                valueDetector = null;
            }

            if (cts != null)
            {
                cts.Dispose();
            }

            UtilCallBackFunctions.WriteLog = (message, newline, style) =>
            {
                if (DetectLogCallback != null)
                {
                    DetectLogCallback(message, style);
                }
            };

            stepsLocker.EnterWriteLock();
            try
            {
                detectSteps = ValueDetector.GetDetectionSteps();
            }
            finally
            {
                stepsLocker.ExitWriteLock();
            }
            SetDetectionStatus(DetectionStatus.NotStart);
            taskCanceled      = false;
            detectedException = null;
        }
 /// <summary>
 /// Gets a list of the detection steps.
 /// </summary>
 /// <returns>A list fo the detection steps.</returns>
 public List <DetectingItem> GetDetectSteps()
 {
     return(detector.GetDetectionSteps());
 }