'Merge this guy with another SimAbstractMemory instance'

def merge(self, others, merge_conditions, common_ancestor=None):

    merging_occurred = False
    for o in others:
        for (region_id, region) in o._regions.items():
            if (region_id in self._regions):
                merging_occurred |= self._regions[region_id].merge([region], merge_conditions, common_ancestor=common_ancestor)
            else:
                merging_occurred = True
                self._regions[region_id] = region
    return merging_occurred
