<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def merge_entries(self, source_entry):
        '''Merge two entries.

        Allow the merging of two MFTEntries copying the attributes to the correct
        place and the datastreams.

        Args:
            source_entry (:obj:`MFTEntry`) - Source entry where the data will be
                copied from
        '''
        #TODO should we change this to an overloaded iadd?
        #TODO I really don't like this. We are spending cycles to load things that are going to be discarted. Check another way.
        #copy the attributes
        for list_attr in source_entry.attrs.values():
            for attr in list_attr:
                self.attrs[attr.header.attr_type_id].append(attr) #add an attribute
        #copy data_streams
        for stream in source_entry.data_streams:
            dest_stream = self._find_datastream(stream.name)
            if dest_stream is not None:
                dest_stream.add_from_datastream(stream)
            else:
                self.data_streams.append(stream)