def _union_with_si(self, si):
dsis = self.copy()<EOL>for si_ in dsis._si_set:<EOL><INDENT>if BoolResult.is_true(si_ == si):<EOL><INDENT>return dsis<EOL><DEDENT><DEDENT>dsis._si_set.add(si)<EOL>dsis._update_bounds(si)<EOL>return dsis.normalize()<EOL>
Union with another StridedInterval.

:param si:
:return: