class ApproximateMostFrequentHistogram {

    public void merge(ApproximateMostFrequentHistogram<K> other)
    {
        List<Counter<K>> counters = other.streamSummary.topK(capacity);
        for (Counter<K> counter : counters) {
            add(counter.getItem(), counter.getCount());
        }
    }

    public  ApproximateMostFrequentHistogram(
            int maxBuckets,
            int capacity,
            ApproximateMostFrequentBucketSerializer<K> serializer,
            ApproximateMostFrequentBucketDeserializer<K> deserializer);
    public  ApproximateMostFrequentHistogram(
            Slice serialized,
            ApproximateMostFrequentBucketSerializer<K> serializer,
            ApproximateMostFrequentBucketDeserializer<K> deserializer);

}