docs: def merge(self, others, merge_conditions, common_ancestor=None): # pylint: disable=unused-argument
          """
          Merge this SimMemory with the other SimMemory
          """
  
          changed_bytes = self._changes_to_merge(others)
  
          l.info("Merging %d bytes", len(changed_bytes))
          l.info("... %s has changed bytes %s", self.id, changed_bytes)
  
          self.read_strategies = self._merge_strategies(self.read_strategies, *[
              o.read_strategies for o in others
          ])
          self.write_strategies = self._merge_strategies(self.write_strategies, *[
              o.write_strategies for o in others
          ])
          merged_bytes = self._merge(others, changed_bytes, merge_conditions=merge_conditions)
  
          return len(merged_bytes) > 0