public static Collector<EffectiveMeta, Builder, EffectiveMetaSet> collector(final String feedName,
                                                                                final String typeName) {
        return new Collector<>() {
            @Override
            public Supplier<Builder> supplier() {
                return () ->
                        new Builder(feedName, typeName);
            }

            @Override
            public BiConsumer<Builder, EffectiveMeta> accumulator() {
                return Builder::add;
            }

            @Override
            public BinaryOperator<Builder> combiner() {
                return Builder::addAll;
            }

            @Override
            public Function<Builder, EffectiveMetaSet> finisher() {
                return Builder::build;
            }

            @Override
            public Set<Characteristics> characteristics() {
                return Collections.emptySet();
            }
        };
    }
Create a {@link Stream} {@link Collector} for creating an {@link EffectiveMetaSet}
from a {@link Stream} of {@link EffectiveMeta}.

@param feedName The feed name for all {@link EffectiveMeta} items.
@param typeName The stream type name for all {@link EffectiveMeta} items.
stroom-meta/stroom-meta-api/src/main/java/stroom/meta/api/EffectiveMetaSet.java