/// <summary>
 /// Specifies that the parameter is optional.
 /// </summary>
 /// <param name="prev">A predecessor object.</param>
 /// <param name="defaultValue">Is a default value assigned to the parameter in case that a parameter argument is not passed. All optional parameters have to be declared at the end of the parameter declaration.</param>
 public static ParamOptionalChainer Optional(this IParamOptional prev, ParameterArgument defaultValue)
 {
     return(new ParamOptionalChainer((Chainer)prev, defaultValue));
 }
 /// <summary>
 /// Specifies that the parameter is optional.
 /// </summary>
 /// <param name="prev">A predecessor object.</param>
 public static ParamOptionalChainer Optional(this IParamOptional prev)
 {
     return(new ParamOptionalChainer((Chainer)prev, null));
 }