@Override
        public Mutation seal() {
            Mutation req = this;

            if (!isSealed()) {
                // no idea which node we'll connect to until now
                req = new Mutation(this, true);
                req.externalTables.addAll(externalTables);
                req.options.putAll(options);
                if (options.isFreezed()) {
                    req.options.freeze();
                }
                req.settings.putAll(settings);
                if (settings.isFreezed()) {
                    req.settings.freeze();
                }

                req.namedParameters.putAll(namedParameters);

                req.input = input;
                req.writer = writer;
                req.queryId = queryId;
                req.sql = sql;

                req.preparedQuery = preparedQuery;
                req.managerRef.set(managerRef.get());
                req.txRef.set(txRef.get());
            }

            return req;
        }
Loads data from deferred input stream. This will remove custom writer set by
{@link #data(ClickHouseWriter)}.

@param input input stream
@return mutation request
clickhouse-client/src/main/java/com/clickhouse/client/ClickHouseRequest.java