function FormData (form) {
        var
            self = this;

        if (!(self instanceof FormData)) {
            return new FormData(form);
        }

        if (form && (!form.tagName || form.tagName !== 'FORM')) { // not a form
            return;
        }

        self._boundary = createBoundary();
        self._data = {};

        if (!form) { // nothing to parse, we're done here
            return;
        }

        parseContents.call(self, form.children);
    }
[FormData description]
@contructor
@param {?HTMLForm} form HTML <form> element to populate the object (optional)