public static ClickHouseOutputStream of(ClickHouseDeferredValue<OutputStream> deferredOutput, int bufferSize,
            Runnable postCloseAction) {
        return new WrappedOutputStream(null, new DeferredOutputStream(deferredOutput), bufferSize, postCloseAction); // NOSONAR
    }
Wraps the deferred output stream.

@param deferredOutput  non-null deferred output stream
@param bufferSize      buffer size which is always greater than zero(usually
                       4096 or larger)
@param postCloseAction custom action will be performed right after closing
                       the input stream
@return wrapped output
clickhouse-data/src/main/java/com/clickhouse/data/ClickHouseOutputStream.java