public Mutation data(ClickHousePassThruStream stream) {
            checkSealed();

            if (!ClickHouseChecker.nonNull(stream, ClickHousePassThruStream.TYPE_NAME).hasInput()) {
                throw new IllegalArgumentException(ClickHousePassThruStream.ERROR_NO_INPUT);
            }

            final ClickHouseConfig c = getConfig();
            if (stream.hasCompression()) {
                decompressClientRequest(stream.isCompressed(), stream.getCompressionAlgorithm(),
                        stream.getCompressionLevel());
            } else if (c.isRequestCompressed()) {
                decompressClientRequest(false);
            }
            if (stream.hasFormat()) {
                format(stream.getFormat());
            }
            final int bufferSize = c.getReadBufferSize();
            this.input = changeProperty(PROP_DATA, this.input, ClickHouseDeferredValue
                    .of(() -> ClickHouseInputStream.of(stream, bufferSize, null)));
            this.writer = changeProperty(PROP_WRITER, this.writer, new PipedWriter(this.input));
            return this;
        }
Loads data from the given pass-thru stream which may or may not be
compressed. This will not only remove custom writer set by
{@link #data(ClickHouseWriter)}, but may also update compression and format.

@param stream pass-thru stream, could be a file and may or may not be
              compressed
@return mutation request
clickhouse-client/src/main/java/com/clickhouse/client/ClickHouseRequest.java