internal ParameterConfiguration(ParameterDefinition parameterDefinition)
		{
			if (parameterDefinition == null)
				throw new ArgumentNullException(nameof(parameterDefinition));

			if (parameterDefinition.PropertyInfo == null)
				throw new ArgumentNullException(nameof(parameterDefinition.PropertyInfo));

			_parameterDefinition = parameterDefinition;
		}
		internal ParameterConfiguration AddParameterDefinition(PropertyInfo propertyInfo)
		{
			var parameterDefinition = new ParameterDefinition(propertyInfo);

			parameterDefinition.SetSignature(SignatureHelper.GetDefaultPropertySignature(propertyInfo));

			var propertyConfiguration = new ParameterConfiguration(parameterDefinition);

			_parameters.Add(parameterDefinition);

			return propertyConfiguration;
		}