public virtual Result <DocumentUpload> Create(DocumentUploadRequest request)
        {
            if (request.DocumentKind == null)
            {
                throw new ArgumentException("DocumentKind must not be null");
            }

            if (request.File == null)
            {
                throw new ArgumentException("File must not be null");
            }

            XmlNode documentUploadXML = Service.PostMultipart(Service.MerchantPath() + "/document_uploads", request, request.File);

            return(new ResultImpl <DocumentUpload>(new NodeWrapper(documentUploadXML), Gateway));
        }