def _drop_oldest_chunk(self):
        '''
        To handle the case when the items comming in the chunk
        is more than the maximum capacity of the chunk. Our intent
        behind is to remove the oldest chunk. So that the items come
        flowing in.
        >>> s = StreamCounter(5,5)
        >>> data_stream = ['a','b','c','d']
        >>> for item in data_stream:
        ...     s.add(item)
        >>> min(s.chunked_counts.keys())
        0
        >>> s.chunked_counts
        {0: {'a': 1, 'b': 1, 'c': 1, 'd': 1}}
        >>> data_stream = ['a','b','c','d','a','e','f']
        >>> for item in data_stream:
        ...     s.add(item)
        >>> min(s.chunked_counts.keys())
        2
        >>> s.chunked_counts
        {2: {'f': 1}}
        '''
        chunk_id = min(self.chunked_counts.keys())
        chunk = self.chunked_counts.pop(chunk_id)

        self.n_counts -= len(chunk)
        for k, v in list(chunk.items()):
            self.counts[k] -= v
            self.counts_total -= v