internal static Suppression GenerateSuppression(AdditionalInfo additionalInfo)
        {
            // If this sentinel key does not exist, we have no suppression data.
            if (!additionalInfo.ContainsKey("SuppressedMatch"))
            {
                return(null);
            }

            additionalInfo.TryGetValue("HashKey", out string hashKey);
            additionalInfo.TryGetValue("MatchingScore", out string matchingScore);
            additionalInfo.TryGetValue("SuppressJustification", out string justification);

            var suppression = new Suppression
            {
                Kind          = SuppressionKind.External,
                Justification = justification
            };

            if (!string.IsNullOrEmpty(matchingScore))
            {
                suppression.SetProperty("MatchingScore", matchingScore);
            }

            if (!string.IsNullOrEmpty(hashKey))
            {
                suppression.SetProperty("HashKey", hashKey);
            }

            return(suppression);
        }