def __init__(self, batch_size):
        """The class is a FIFO queue. Arrow tables are added to the queue. When read, rows are regrouped into Arrow
        tables of a fixed size specified during construction of the object. The order of the rows in the output tables
        is the same as the order of the rows in the input tables.

        :param batch_size: number of rows in tables that will be returned by the ``get`` method.
        """
        self._batch_size = batch_size
        self._buffer = deque()
        self._head_idx = 0
        self._cumulative_len = 0
The class is a FIFO queue. Arrow tables are added to the queue. When read, rows are regrouped into Arrow
        tables of a fixed size specified during construction of the object. The order of the rows in the output tables
        is the same as the order of the rows in the input tables.

        :param batch_size: number of rows in tables that will be returned by the ``get`` method.
        
petastorm/pyarrow_helpers/batching_table_queue.py