def METHOD_NAME(
    self,
    created_before: Optional[Union[datetime.datetime, datetime.date]] = None,
    created_after: Optional[Union[datetime.datetime, datetime.date]] = None,
    has_labels: Optional[Dict[str, str]] = None,
) -> List[AbstractProgram]:
    """Returns a list of previously executed quantum programs.
    Args:
        created_after: retrieve programs that were created after this date
            or time.
        created_before: retrieve programs that were created after this date
            or time.
        has_labels: retrieve programs that have labels on them specified by
            this dict. If the value is set to `*`, filters having the label
            regardless of the label value will be filtered. For example, to
            query programs that have the shape label and have the color
            label with value red can be queried using
            `{'color: red', 'shape:*'}`
    """
    valid_programs: List[AbstractProgram] = []
    for processor in self._processors.values():
        valid_programs.extend(
            processor.METHOD_NAME(
                created_before=created_before,
                created_after=created_after,
                has_labels=has_labels,
            )
        )
    return valid_programs