code: def _union_with_dsis(self, dsis):
          
  
          copied = self.copy()
  
          for a in dsis._si_set:
              copied = copied.union(a)
  
          if isinstance(copied, DiscreteStridedIntervalSet):
              copied._update_bounds(dsis)
  
          return copied.normalize()
docs: Union with another DiscreteStridedIntervalSet.
  
          :param dsis:
          :return: