<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def union(self, *sets):
 """ Combines all unique items. Each items order is defined by its first appearance. Example: OrderedSet([3, 1, 4, 5, 2, 0]) OrderedSet([3, 1, 4, 5, 2, 0, 8, 9]) OrderedSet([3, 1, 4, 5, 2, 0, 10]) """

        cls = self.__class__ if isinstance(self, OrderedSet) else OrderedSet
        containers = map(list, it.chain([self], sets))
        items = it.chain.from_iterable(containers)
        return cls(items)