guava/src/com/google/common/collect/TopKSelector.java
public static <T> TopKSelector<T> least(int k, Comparator<? super T> comparator) {
    return new TopKSelector<T>(comparator, k);
  }
public static <T> TopKSelector<T> least(int k, Comparator<? super T> comparator) {
    return new TopKSelector<T>(comparator, k);
  }
Returns a {@code TopKSelector} that collects the lowest {@code k} elements added to it,
relative to the specified comparator, and returns them via {@link #topK} in ascending order.

@throws IllegalArgumentException if {@code k < 0}