<commit_before>package com.github.blackrush.acara;

@FunctionalInterface
public interface ListenerBuilder {
    /**
     * Build the listener given its instance.
     * @param o a non-null instance
     * @return the builded listener or null if the builder does not care
     */
    Listener build(Object o);

    default ListenerBuilder withFallback(ListenerBuilder other) {
        return o -> {
            Listener listener = this.build(o);
            if (listener != null) {
                return listener;
            }
            return other.build(o);
        };
    }
}<commit_msg>You might build multiple listeners given an instance<commit_after>package com.github.blackrush.acara;

import java.util.stream.Stream;

@FunctionalInterface
public interface ListenerBuilder {
    /**
     * Build the listener given its instance.
     * @param o a non-null instance
     * @return the built listener or null if the builder does not care
     */
    Stream<Listener> build(Object o);

    default ListenerBuilder concat(ListenerBuilder other) {
        return o -> Stream.concat(this.build(o), other.build(o));
    }
}
{'fraction_non_alphanumeric': 0.08703374777975133, 'fraction_numerical': 0.0, 'mean_word_length': 2.6237942122186495, 'pattern_counts': {'":': 0, '<': 4, '<?xml version=': 0, '>': 6, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1693923', 'n_tokens_mistral': 302, 'n_tokens_neox': 295, 'n_words': 97}