docs: public static <E> String toBiggestValuesFirstString(Counter<E> c, int k) {
      PriorityQueue<E> pq = toPriorityQueue(c);
      PriorityQueue<E> largestK = new BinaryHeapPriorityQueue<E>();
      // TODO: Is there any reason the original (commented out) line is better
      // than the one replacing it?
      // while (largestK.size() < k && ((Iterator<E>)pq).hasNext()) {
      while (largestK.size() < k && !pq.isEmpty()) {
        double firstScore = pq.getPriority(pq.getFirst());
        E first = pq.removeFirst();
        largestK.changePriority(first, firstScore);
      }
      return largestK.toString();
    }