code: @SafeVarargs
      private static <T extends Snippet> Stream<T> nonEmptyStream(Supplier<Stream<T>> supplier,
              SnippetPredicate<T>... filters) {
          for (SnippetPredicate<T> filt : filters) {
              Iterator<T> iterator = supplier.get().filter(filt).iterator();
              if (iterator.hasNext()) {
                  return StreamSupport.stream(Spliterators.spliteratorUnknownSize(iterator, 0), false);
              }
          }
          return null;
      }
docs: Apply filters to a stream until one that is non-empty is found.
  Adapted from Stuart Marks
  
  @param supplier Supply the Snippet stream to filter
  @param filters Filters to attempt
  @return The non-empty filtered Stream, or null