/// <summary>
        /// Gets the display name for the specified property.
        /// </summary>
        /// <param name="pd">The property descriptor.</param>
        /// <param name="declaringType">The declaring type.</param>
        /// <returns>
        /// A display name string.
        /// </returns>
        protected virtual string GetDisplayName(PropertyDescriptor pd, Type declaringType)
        {
            var displayName = pd.GetDisplayName();

            if (this.ModifyCamelCaseDisplayNames && displayName == pd.Name)
            {
                displayName = StringUtilities.FromCamelCase(displayName);
            }

            return displayName;
        }