class_docstr: A union of a number of sub restrictions.
  
  Parameters
  ----------
  sub_restrictions : iterable of Restrictions (but not _UnionRestrictions)
      The Restrictions to be added together
  
  Notes
  -----
  - Consumers should not construct instances of this class directly, but
    instead use the `|` operator to combine restrictions
class_docstr_tok: ["A","union","of","a","number","of","sub","restrictions",".","Parameters","--","--","--","--","--","sub_restrictions",":","iterable","of","Restrictions","(","but","not","_UnionRestrictions",")","The","Restrictions","to","be","added","together","Notes","--","--","-","-","Consumers","should","not","construct","instances","of","this","class","directly",",","but","instead","use","the","`","|","`","operator","to","combine","restrictions"]
docstr: Overrides the base implementation for combining two restrictions, of
  which the left side is a _UnionRestrictions.
docstr_tok: ["Overrides","the","base","implementation","for","combining","two","restrictions",",","of","which","the","left","side","is","a","_UnionRestrictions","."]
code: def __or__(self, other_restriction):
      """
      Overrides the base implementation for combining two restrictions, of
      which the left side is a _UnionRestrictions.
      """
      # Flatten the underlying sub restrictions of _UnionRestrictions
      if isinstance(other_restriction, _UnionRestrictions):
          new_sub_restrictions = (
              self.sub_restrictions + other_restriction.sub_restrictions
          )
      else:
          new_sub_restrictions = self.sub_restrictions + [
              other_restriction
          ]
  
      return _UnionRestrictions(new_sub_restrictions)
  
imports: import abc
  from numpy import vectorize
  from functools import partial, reduce
  import operator
  import pandas
  from six import with_metaclass, iteritems
  from collections import namedtuple
  from toolz import groupby
  from catalyst.utils.enum import enum
  from catalyst.utils.numpy_utils import vectorized_is_element
  from catalyst.assets import Asset
label_desc: Use image node_id 2 for calling the _UnionRestrictions obj's underlying member method code with example usage: obj.__or__(other_restriction) and returns: _UnionRestrictions