private static String effectiveStreamsToString(final Collection<EffectiveMeta> effectiveStreams) {
        if (effectiveStreams == null) {
            return "";
        } else {
            final List<String> sortedStringMetas = effectiveStreams.stream()
                    .sorted(Comparator.comparing(EffectiveMeta::getEffectiveMs))
                    .map(LogUtil::toStringWithoutClassName)
                    .toList();

            Stream<String> stream = sortedStringMetas.stream();

            final int limit = 20;
            final int size = sortedStringMetas.size();
            if (size > limit) {
                final String lastMetaStr = sortedStringMetas.get(size - 1);

                stream = Stream.concat(
                        stream.limit(limit - 1),
                        Stream.of(
                                "...TRUNCATED...",
                                lastMetaStr));
            }
            return stream
                    .map(str -> "  " + str)
                    .collect(Collectors.joining("\n"));
        }
    }
@return An unmodifiable set of {@link EffectiveMeta} in ascending order
of {@link EffectiveMeta#getEffectiveMs()}
stroom-meta/stroom-meta-api/src/main/java/stroom/meta/api/EffectiveMetaSet.java