Process data block of ``CTfile``.
    
    :param stream: Queue containing lines of text.
    :type stream: :py:class:`collections.deque`
    :return: Tuples of data.
    :rtype: :class:`~ctfile.tokenizer.DataHeader` or :class:`~ctfile.tokenizer.DataItem`

def _data_block(stream):
    """Process data block of ``CTfile``.
    
    :param stream: Queue containing lines of text.
    :type stream: :py:class:`collections.deque`
    :return: Tuples of data.
    :rtype: :class:`~ctfile.tokenizer.DataHeader` or :class:`~ctfile.tokenizer.DataItem`
    """
    while len(stream) > 0:
        line = stream.popleft()

        if line.startswith('>'):
            yield DataHeader(line[1:].strip())
        else:
            data_item = line.strip()
            if data_item:
                yield DataItem(line)
            else:
                continue