@Override
  public List<T> peek(int k) {
    List<T> topK = new ArrayList<T>(k);

    for (ListNode2<Bucket> bNode = bucketList.head(); bNode != null; bNode = bNode.getPrev()) {
      Bucket b = bNode.getValue();
      for (Counter<T> c : b.counterList) {
        if (topK.size() == k) {
          return topK;
        }
        topK.add(c.item);
      }
    }

    return topK;
  }
@param item stream element (<i>e</i>)
@return Pair<isNewItem, itemDropped> where isNewItem is the return value of offer() and
    itemDropped is null if no item was dropped
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/approximate/StreamSummary.java