rest-assured/src/main/java/io/restassured/builder/RequestSpecBuilder.java
public RequestSpecBuilder addRequestSpecification(RequestSpecification specification) {
        if (!(specification instanceof RequestSpecificationImpl)) {
            throw new IllegalArgumentException("Specification must be of type " + RequestSpecificationImpl.class.getClass() + ".");
        }

        RequestSpecificationImpl rs = (RequestSpecificationImpl) specification;
        SpecificationMerger.merge((RequestSpecificationImpl) spec, rs);
        return this;
    }
public RequestSpecBuilder addRequestSpecification(RequestSpecification specification) {
        if (!(specification instanceof RequestSpecificationImpl)) {
            throw new IllegalArgumentException("Specification must be of type " + RequestSpecificationImpl.class.getClass() + ".");
        }

        RequestSpecificationImpl rs = (RequestSpecificationImpl) specification;
        SpecificationMerger.merge((RequestSpecificationImpl) spec, rs);
        return this;
    }
Merge this builder with settings from another specification. Note that the supplied specification
can overwrite data in the current specification. The following settings are overwritten:
<ul>
<li>Port</li>
<li>Authentication scheme</
<li>Content type</li>
<li>Request body</li>
</ul>
The following settings are merged:
<ul>
<li>Parameters</li>
<li>Cookies</li>
<li>Headers</li>
<li>Filters</li>
</ul>

@param specification The specification to add
@return The request specification builder