def METHOD_NAME(self):
    if time.time() - UnsplashDownloader.rate_limiting_started_time < 3600:
        logger.info(
            lambda: "Unsplash queue empty, but rate limit reached, will try again later"
        )
        return []
    url = self.get_unsplash_api_url()
    logger.info(lambda: "Filling Unsplash queue from " + url)
    r = Util.request(url)
    if int(r.headers.get("X-Ratelimit-Remaining", 1000000)) < 1000:
        UnsplashDownloader.rate_limiting_started_time = time.time()
    queue = []
    for item in r.json():
        try:
            width = item["width"]
            height = item["height"]
            if self.is_size_inadequate(width, height):
                continue
            image_url = item["urls"]["full"] + "&w={}".format(
                max(1980, int(Util.get_primary_display_size()[0] * 1.2))
            )
            origin_url = item["links"]["html"] + UnsplashDownloader.UTM_PARAMS
            if "plus.unsplash.com/" in image_url:  # exclude watermarked wallpapers
                continue
            extra_metadata = {
                "sourceType": "unsplash",
                "sfwRating": 100,
                "author": item["user"]["name"],
                "authorURL": item["user"]["links"]["html"] + UnsplashDownloader.UTM_PARAMS,
                "description": item.get("description", item.get("alt_description")),
                "keywords": [
                    cat
                    for cat, approval in item.get("topic_submissions", {}).items()
                    if approval.get("status") == "approved"
                ],
                "extraData": {
                    "unsplashDownloadLocation": item["links"]["download_location"],
                    "unsplashDownloadReported": False,
                },
            }
            queue.append((origin_url, image_url, extra_metadata))
        except:
            logger.exception(lambda: "Could not process an item from Unsplash")
            raise
    random.shuffle(queue)
    return queue