/// <summary>
        /// Get a human readable version of the requirement
        /// </summary>
        /// <returns></returns>
        public string GetDescription()
        {
            VersionType      versionType      = GetVersionType();
            ServicePackType  servicePackType  = GetServicePackType();
            ProductType      productType      = GetProductType();
            ArchitectureType architectureType = GetArchitectureType();
            IncludeType      includeType      = GetIncludeType();
            string           format           = GetDescriptionFormat(versionType, servicePackType, productType, architectureType, includeType);
            string           version          = GetVersionString();
            string           servicePack      = GetServicePackVersionString();

            return(string.Format(format, NamedVersion, version, servicePack));
        }
 /// <summary>
 /// Locates the appropriate format string for the requirement type
 /// </summary>
 /// <param name="versionType"></param>
 /// <param name="spType"></param>
 /// <param name="productType"></param>
 /// <param name="architectureType"></param>
 /// <param name="includeType"></param>
 /// <returns></returns>
 private string GetDescriptionFormat(VersionType versionType, ServicePackType spType, ProductType productType, ArchitectureType architectureType, IncludeType includeType)
 {
     return DescriptionFormats[(int)versionType, (int)spType, (int)productType, (int)architectureType, (int)includeType];
 }
 /// <summary>
 /// Locates the appropriate format string for the requirement type
 /// </summary>
 /// <param name="versionType"></param>
 /// <param name="spType"></param>
 /// <param name="productType"></param>
 /// <param name="architectureType"></param>
 /// <param name="includeType"></param>
 /// <returns></returns>
 private string GetDescriptionFormat(VersionType versionType, ServicePackType spType, ProductType productType, ArchitectureType architectureType, IncludeType includeType)
 {
     return(DescriptionFormats[(int)versionType, (int)spType, (int)productType, (int)architectureType, (int)includeType]);
 }