public static void AddParameter(this NameValueCollection parameters, string name, DocumentTarget? value)
 {
     if (value.HasValue)
     {
         parameters.Add(name, value.Value.ToString());
     }
 }
        /// <summary>
        /// Validates this test procedure name
        /// </summary>
        /// <param name="path">The path to this object as a string</param>
        /// <param name="messages">the validation messages, these may be added to within this method</param>
        public void Validate(string path, List <ValidationMessage> messages)
        {
            var vb = new ValidationBuilder(path, messages);

            if (vb.ArgumentRequiredCheck("DocumentTarget", DocumentTarget))
            {
                DocumentTarget.Validate(path + "DocumentTarget", messages);
            }

            if (vb.ArgumentRequiredCheck("DocumentDetails", DocumentDetails))
            {
                DocumentDetails.Validate(path + "DocumentDetails", messages);
            }
        }