Add a resource change or an iterable collection of them.

        Allows multiple resource_change objects for the same
        resource (ie. URI) and preserves the order of addition.

def add(self, resource):
        """Add a resource change or an iterable collection of them.

        Allows multiple resource_change objects for the same
        resource (ie. URI) and preserves the order of addition.
        """
        if isinstance(resource, collections.Iterable):
            for r in resource:
                self.add_if_changed(r)
        else:
            self.add_if_changed(resource)