/// <summary>
 /// Initializes a new instance of the <see cref="ConstructedConfigurationObject"/> class
 /// using a construction and input objects.
 /// </summary>
 /// <param name="construction">The construction that should be used to draw this object.</param>
 /// <param name="input">The input objects in the flattened order (see <see cref="Arguments.FlattenedList")/></param>
 public ConstructedConfigurationObject(Construction construction, params ConfigurationObject[] input)
     : this(construction, construction.Signature.Match(input))
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="ConstructedConfigurationObject"/> class.
 /// </summary>
 /// <param name="construction">The construction that should be used to draw this object.</param>
 /// <param name="arguments">The arguments that should be passed to the construction function.</param>
 public ConstructedConfigurationObject(Construction construction, Arguments arguments)
     : base(construction.OutputType)
 {
     Construction    = construction;
     PassedArguments = arguments;
 }