public InspectResult Inspect(IEnumerable <GrabInfo> grabInfos, string waferID, CancellationToken token)
        {
            if (grabInfos.Count() == 0)
            {
                return(null);
            }

            if (Directory.Exists(_coreConfig.GetTempPath()) == false)
            {
                Directory.CreateDirectory(_coreConfig.GetTempPath());
            }

            var directoryPath = _coreConfig.GetTempPath();

            if (waferID != null)
            {
                directoryPath = Path.Combine(directoryPath, waferID);
            }

            if (Directory.Exists(directoryPath) == false)
            {
                Directory.CreateDirectory(directoryPath);
            }

            int count = 1;

            foreach (var grabInfo in grabInfos)
            {
                //Modify.ach.20210601.Camera 예외처리.Start...
                if (grabInfo.Data != null)
                {
                    Save(grabInfo, Path.Combine(directoryPath, count.ToString()));
                    count++;
                }
                //Modify.ach.20210601.Camera 예외처리.End
            }

            var command = GetStat(token);

            switch (command)
            {
            case EStatCommand.Ready:
                break;

            case EStatCommand.Busy:
            case EStatCommand.Error:
            case EStatCommand.None:
                break;
            }

            Inspect(waferID, directoryPath, token);
            //결과값에 따른 result 값 변경해야함.
            var inspectResult = new InspectResult(EJudgement.Fail, ParseMessages());

            inspectResult.Resultmessage = Resultmessages;
            inspectResult.FolderPath    = directoryPath;
            inspectResult.WaferID       = waferID;

            //?
            if (Inspected != null)
            {
                Inspected(inspectResult);
            }

            //Send(Path.GetFullPath(directoryPath));

            return(inspectResult);
        }