<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def intersection(self, *sets):
 """ Returns elements in common between all sets. Order is defined only by the first set. Example: OrderedSet([1, 2, 3]) OrderedSet([2]) OrderedSet([1, 2, 3]) """

        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)