             return newBuilder
         }
 
+        /// Assigns HTTP method to `Builder`
+        /// - throws: `Error.reassignProperty(name: "method")` if HTTP method was previously assigned.
+        /// - returns: New `Builder` with same properties as receiver but with assigned HTTP method
         public func with(method: Method) throws -> Builder {
             guard self.method == nil else { throw Error.reassignProperty(name: "method") }
             return self.changing {

            }
        }

        public func build() -> HTTPRequestData {
            return HTTPRequestData(url: self.url, method: self.method ?? .get, headerFields: self.headerFields,
                                   parameters: self.parameters, parameterEncoding: self.parameterEncoding ?? .url)

            }
        }

        /// Appends header fields to `Builder`
        /// - returns: New `Builder` with same properties as receiver but with appended header fields
        public func appending(headerFields newHeaderFields: HeaderFields) -> Builder {
            return self.changing {
                var headerFields = $0.headerFields ?? [:]
