code: private static <T, U> Collector<T, ?, U> empty(Supplier<U> supplier) {
          return new CancellableCollectorImpl<>(() -> NONE, (acc, t) -> {
              // empty
          }, selectFirst(), acc -> supplier.get(), acc -> true, EnumSet.of(Characteristics.UNORDERED,
              Characteristics.CONCURRENT));
      }
docs: Returns a {@code Collector} which just ignores the input and calls the
  provided supplier once to return the output.
  
  @param <T> the type of input elements
  @param <U> the type of output
  @param supplier the supplier of the output
  @return a {@code Collector} which just ignores the input and calls the
  provided supplier once to return the output.