/// <summary>
        /// Constructs the extractor info string for caching.
        /// </summary>
        /// <param name="extractor">The extractor to describe.</param>
        /// <returns>Extractor info string for caching.</returns>
        private static string GetExtractorInfo(ISpecificAutocollectedMetricsExtractor extractor)
        {
            string extractorName;
            string extractorVersion;

            try
            {
                extractorName = extractor?.ExtractorName ?? "null";
            }
            catch
            {
                extractorName = extractor.GetType().FullName;
            }

            try
            {
                extractorVersion = extractor.ExtractorVersion ?? "null";
            }
            catch
            {
                extractorVersion = "unknown";
            }

            string extractorInfo = string.Format(
                CultureInfo.InvariantCulture,
                MetricTerms.Extraction.ProcessedByExtractors.Moniker.ExtractorInfoTemplate,
                extractorName,
                extractorVersion);

            return(extractorInfo);
        }
 public ExtractorWithInfo(ISpecificAutocollectedMetricsExtractor extractor, string info)
 {
     this.Extractor = extractor;
     this.Info      = info;
 }