### Description

This is a followup to #85926.

As part of the ingest processing pipeline, we call `CollectionUtils.ensureNoSelfReferences(...)` to ensure that a script processor didn't accidentally introduce a circular object. However, this check is only necessary if we know there was the potential for a circular option, which can only happen with either a custom processor (a plugin where we have no control), or a script processor. We should be able to only call this sanity check if we know we need it, rather than for every document.
libs/x-content/src/main/java/org/elasticsearch/xcontent/XContentBuilder.java
}
    /**
     * Creates a new builder using the provided XContent, output stream and some inclusive and/or exclusive filters. When both exclusive and
     * inclusive filters are provided, the underlying builder will first use exclusion filters to remove fields and then will check the
     * remaining fields against the inclusive filters.
     * Stores RestApiVersion to help steer the use of the builder depending on the version.
     * @see #getRestApiVersion()
     * <p>
     * Make sure to call {@link #close()} when the builder is done with.
     * @param os       the output stream
     * @param includes the inclusive filters: only fields and objects that match the inclusive filters will be written to the output.
     * @param excludes the exclusive filters: only fields and objects that don't match the exclusive filters will be written to the output.
     * @param responseContentType  a content-type header value to be send back on a response
     * @param restApiVersion a rest api version indicating with which version the XContent is compatible with.
     */
    public XContentBuilder(
        XContent xContent,
        OutputStream os,
        Set<String> includes,
        Set<String> excludes,
        ParsedMediaType responseContentType,
        RestApiVersion restApiVersion
    ) throws IOException {
        this.bos = os;
        assert responseContentType != null : "generated response cannot be null";
        this.responseContentType = responseContentType;
        this.generator = xContent.createGenerator(bos, includes, excludes);
        this.restApiVersion = restApiVersion;
    }
    public String getResponseContentTypeString() {