internal bool TryGetConfigDescription(string sectionName, string parameterName, out ConfigDescription configDescription)
        {
            configDescription = null;

            Dictionary <string, ConfigDescription> parameters;

            if (!this.SettingsMetadata.TryGetValue(sectionName, out parameters))
            {
                // In deployer we have section on which we skip validation
                return(false);
            }

            ConfigDescription matchingConfigDescription;

            // Check if the metadata is present for the parameter. If that fails, check if the section
            // has a parameter called "PropertyGroup". Section with 'PropertyGroup' parameter will allow
            // any parameter name
            if (!parameters.TryGetValue(parameterName, out matchingConfigDescription) &&
                !parameters.TryGetValue(StringConstants.PropertyGroupParameter, out matchingConfigDescription))
            {
                return(false);
            }

            configDescription = matchingConfigDescription;

            return(true);
        }