public static <T> ClickHouseInputStream of(T[] source, Class<T> clazz, Function<T, byte[]> converter,
            Runnable postCloseAction) {
        if (source == null || source.length == 0) {
            return EmptyInputStream.INSTANCE;
        }
        return of(Arrays.asList(source), clazz, converter, ClickHouseDataConfig.getDefaultReadBufferSize(),
                postCloseAction);
    }
Wraps the given array of object as byte array based binary input stream.

@param <T>             type of the object
@param source          array of object
@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
@see #of(Iterable, Class, Function, Runnable)
clickhouse-data/src/main/java/com/clickhouse/data/ClickHouseInputStream.java