def METHOD_NAME(self, can_see_all, timestamp, partial_key, request=None):
    ccontroller = self.contest.controller
    queryset = self.contest.round_set.all().order_by("-start_date")
    if partial_key != CONTEST_RANKING_KEY:
        queryset = queryset.filter(id=partial_key).order_by("-start_date")
    for round in queryset:
        times = ccontroller.get_round_times(request, round)
        if can_see_all or times.public_results_visible(timestamp):
            yield round