public static <T> ClickHouseInputStream of(Iterable<T> source, Class<T> clazz, Function<T, byte[]> converter,
            Runnable postCloseAction) {
        return of(source, clazz, converter, ClickHouseDataConfig.getDefaultReadBufferSize(), postCloseAction);
    }
Wraps the given iterable objects as byte array based binary input stream.
{@code byte[]}, {@link ByteBuffer}, {@link InputStream}, {@link File},
{@link String}, and {@link URL} are all supported by default.

@param <T>             type of the object
@param source          iterable objects(e.g. byte[], ByteBuffer, and
                       String etc.)
@param clazz           class of the object
@param converter       optional transformer to convert each object into byte
                       array
@param postCloseAction custom action will be performed right after closing
                       the input stream
@return non-null input stream
clickhouse-data/src/main/java/com/clickhouse/data/ClickHouseInputStream.java