@Nonnull
    public BatchSource<T> build() {
        requireNonNull(clientFn, "clientFn must be set");
        requireNonNull(searchRequestFn, "searchRequestFn must be set");
        requireNonNull(mapToItemFn, "mapToItemFn must be set");

        ElasticSourceConfiguration<T> configuration = new ElasticSourceConfiguration<>(
                restHighLevelClientFn(clientFn),
                searchRequestFn, optionsFn, mapToItemFn, slicing, coLocatedReading,
                scrollKeepAlive, retries
        );
        ElasticSourcePMetaSupplier<T> metaSupplier = new ElasticSourcePMetaSupplier<>(configuration);
        return Sources.batchFromProcessor(DEFAULT_NAME, metaSupplier);
    }
@Test
    public void when_createElasticSourceUsingBuilder_then_sourceHasCorrectName() {
        BatchSource<Object> source = builderWithRequiredParams()
                .build();
        assertThat(source.name()).isEqualTo("elasticSource");
    }