code: def intersection(self, *sets):
          
          cls = self.__class__ if isinstance(self, OrderedSet) else OrderedSet
          if sets:
              common = set.intersection(*map(set, sets))
              items = (item for item in self if item in common)
          else:
              items = self
          return cls(items)
docs: Returns elements in common between all sets. Order is defined only
          by the first set.
  
          Example:
              >>> oset = OrderedSet.intersection(OrderedSet([0, 1, 2, 3]), [1, 2, 3])
              >>> print(oset)
              OrderedSet([1, 2, 3])
              >>> oset.intersection([2, 4, 5], [1, 2, 3, 4])
              OrderedSet([2])
              >>> oset.intersection()
              OrderedSet([1, 2, 3])