code: public Collector<Type, ClosureHolder, List<Type>> closureCollector(boolean minClosure, BiPredicate<Type, Type> shouldSkip) {
          return Collector.of(() -> new ClosureHolder(minClosure, shouldSkip),
                  ClosureHolder::add,
                  ClosureHolder::merge,
                  ClosureHolder::closure);
      }
docs: Collect types into a new closure (using a @code{ClosureHolder})