    def __add__(self, another: 'DataCollection') -> 'DataCollection':
        """
        Concat two DataCollections with same Schema.

        Note that this function will consume tha data in the second DataCollection.

        Args:
            another ('DataCollection'):
                Another DataCollection to concat.

        Examples:
            >>> from towhee.runtime.data_queue import DataQueue, ColumnType
            >>> from towhee.datacollection.data_collection import DataCollection
            >>> dq = DataQueue([('a', ColumnType.SCALAR), ('b', ColumnType.QUEUE)])
            >>> dq1 = DataQueue([('a', ColumnType.SCALAR), ('b', ColumnType.QUEUE)])
            >>> dq2 = DataQueue([('a', ColumnType.SCALAR), ('b', ColumnType.QUEUE)])
            >>> dq1.put(('a', 'b1'))
            True
            >>> dq2.put(('a', 'b2'))
            True
            >>> dc1 = DataCollection(dq1)
            >>> dc2 = DataCollection(dq2)
            >>> len(dc1)
            1
            >>> len(dc2)
            1
            >>> len(dc1 + dc2)
            2
        """
        new = copy.deepcopy(self)
        new._iterable = self._iterable + another._iterable

        return new
Concat two DataCollections with same Schema.

Note that this function will consume tha data in the second DataCollection.

Args:
another ('DataCollection'):
Another DataCollection to concat.

Examples:
>>> from towhee.runtime.data_queue import DataQueue, ColumnType
>>> from towhee.datacollection.data_collection import DataCollection
>>> dq = DataQueue([('a', ColumnType.SCALAR), ('b', ColumnType.QUEUE)])
>>> dq1 = DataQueue([('a', ColumnType.SCALAR), ('b', ColumnType.QUEUE)])
>>> dq2 = DataQueue([('a', ColumnType.SCALAR), ('b', ColumnType.QUEUE)])
>>> dq1.put(('a', 'b1'))
True
>>> dq2.put(('a', 'b2'))
True
>>> dc1 = DataCollection(dq1)
>>> dc2 = DataCollection(dq2)
>>> len(dc1)
1
>>> len(dc2)
1
>>> len(dc1 + dc2)
2
towhee/datacollection/data_collection.py