docs: def copy(self, memo):
          """
          Make a copy of this SimAbstractMemory object
          :return:
          """
          am = SimAbstractMemory(
              memory_id=self._memory_id,
              endness=self.endness,
              stack_region_map=self._stack_region_map,
              generic_region_map=self._generic_region_map
          )
          for region_id, region in self._regions.items():
              am._regions[region_id] = region.copy(memo)
          am._stack_size = self._stack_size
          return am