/// <summary>
 /// Converts a given argument to a string.
 /// </summary>
 /// <param name="argument">The argument to be converted.</param>
 /// <param name="cache">The cached converted constructed objects.</param>
 /// <returns>The string representation of the argument.</returns>
 private string ArgumentToString(ConstructionArgument argument, Dictionary <ConstructedConfigurationObject, string> cache) => argument switch
 {
 protected bool Equals(ConstructionArgument other)
 {
     return string.Equals(StringValue, other.StringValue) && Equals(Value, other.Value);
 }
 protected bool Equals(ConstructionArgument other)
 {
     return(string.Equals(StringValue, other.StringValue) && Equals(Value, other.Value));
 }