/// <summary> /// Finally creates the <see cref="PropertyValue"/> derivation using the information contained in the supplied <see cref="PropertyValueCreationContext"/>. /// </summary> /// <param name="propertyValueCreationContext">The <see cref="PropertyValueCreationContext"/>.</param> /// <exception cref="ArgumentNullException">The value of '<paramref name="propertyValueCreationContext"/>' cannot be null.</exception> /// <returns>A derivation of the <see cref="PropertyValue"/>.</returns> public PropertyValue CreatePropertyValue(PropertyValueCreationContext propertyValueCreationContext) { if (propertyValueCreationContext == null) { throw new ArgumentNullException(nameof(propertyValueCreationContext)); } var propertyValue = propertyValueCreationContext.GetValue(propertyValueCreationContext.InstanceDescriptorCreationContext.CurrentInstance); return(this.CreatePropertyValueCore(propertyValueCreationContext, propertyValue)); }