code: private FormData prepareFormDataSet(Source source, Element form) {
  		List<FormDataField> formDataFields = new LinkedList<>();
  
  		// Process each form field
  		Iterator<FormField> it = getFormFields(source, form).iterator();
  		while (it.hasNext()) {
  			FormField field = it.next();
  			if (log.isDebugEnabled()) {
  				log.debug("New form field: " + field.getDebugInfo());
  			}
  			for (String value : getDefaultTextValue(field)) {
  				formDataFields
  						.add(new FormDataField(field.getName(), value, field.getFormControl().getFormControlType().isSubmit()));
  			}
  		}
  		return new FormData(formDataFields);
  	}
docs: Prepares the form data set. A form data set is a sequence of control-name/current-value pairs
  constructed from successful controls, which will be sent with a GET/POST request for a form.
  
  @see <a href="https://www.w3.org/TR/REC-html40/interact/forms.html#form-data-set">HTML 4.01 Specification - 17.13.3
  Processing form data</a>
  @see <a href="https://html.spec.whatwg.org/multipage/forms.html#association-of-controls-and-forms">HTML 5 - 4.10.18.3
  Association of controls and forms</a>
  @param source the source where the form is (to obtain further input elements)
  @param form the form
  @return the list