GenericCircularBuffer