public RequestOptions build() {
        if (responseTimeoutMillis < 0 && writeTimeoutMillis < 0 &&
            maxResponseLength < 0 && requestAutoAbortDelayMillis == null && attributes == null &&
            exchangeType == null && responseTimeoutMode == null) {
            return EMPTY;
        } else {
            final Map<AttributeKey<?>, Object> attributes;
            if (this.attributes == null || this.attributes.isEmpty()) {
                attributes = ImmutableMap.of();
            } else {
                attributes = ImmutableMap.copyOf(this.attributes);
            }
            return new DefaultRequestOptions(responseTimeoutMillis, writeTimeoutMillis,
                                             maxResponseLength, requestAutoAbortDelayMillis,
                                             attributes, exchangeType, responseTimeoutMode);
        }
    }
Returns a newly created {@link RequestOptions} with the properties specified so far.
core/src/main/java/com/linecorp/armeria/client/RequestOptionsBuilder.java