def getItems(authorized_groups, unrestricted, maxItems=None):
    """ Get all authorised items
        If C{maxItems} is not given, all authorised items in the node are returned,
        just like C{getItemsById}. Otherwise, C{maxItems} limits
        the returned items to a maximum of that number of most recently
        published and authorised items.

        @param authorized_groups: we want to get items that these groups can access
        @param unrestricted: if true, don't check permissions (i.e.: get all items)
        @param maxItems: if given, a natural number (>0) that limits the
                          returned number of items.
        @return: deferred that fires a C{list} of (item, access_model, id)
        if unrestricted is True, else a C{list} of items.
        """
