private static IList <FaceToNameMatch> ConvertFaceIdsToNames(
            IList <SimilarFace> similarFaces,
            FaceCategory lookupCategory,
            IFaceIdToNameLookup faceIdLookup)
        {
            IEnumerable <FaceToNameMatch> converted =
                from result in similarFaces
                select new FaceToNameMatch(
                    firstName: faceIdLookup.LookupName(result.PersistedFaceId.Value, lookupCategory),
                    score: result.Confidence);

            return(converted.ToList());
        }
        public FaceMatcher(
            IFaceClient faceClient,
            IFaceIdToNameLookup faceIdLookup,
            FaceMatchSettings settings,
            ILogger <FaceMatcher> logger)
        {
            Guard.Argument(faceClient, nameof(faceClient)).NotNull();
            Guard.Argument(settings, nameof(settings)).NotNull();
            Guard.Argument(logger, nameof(logger)).NotNull();
            Guard.Argument(faceIdLookup, nameof(faceIdLookup)).NotNull();

            this.faceClient   = faceClient;
            this.faceIdLookup = faceIdLookup;
            this.settings     = settings;
            this.logger       = logger;
        }