'Push and item onto the sorting stack.
@param item: An item to push.
@type item: I{item}
@return: The number of items pushed.
@rtype: int'

def push(self, item):

    if (item in self.pushed):
        return
    frame = (item, iter(item[1]))
    self.stack.append(frame)
    self.pushed.add(item)
