def METHOD_NAME(self, collection_candidate):
    # type: (Candidate) -> list[str]
    self._assert_that_offline_mode_is_not_requested()
    namespace = collection_candidate.namespace
    name = collection_candidate.name
    version = collection_candidate.ver
    last_err = None  # type: Exception | None
    api_lookup_order = (
        (collection_candidate.src, )
        if isinstance(collection_candidate.src, GalaxyAPI)
        else self._apis
    )
    for api in api_lookup_order:
        try:
            return api.get_collection_signatures(namespace, name, version)
        except GalaxyError as api_err:
            last_err = api_err
        except Exception as unknown_err:
            # Warn for debugging purposes, since the Galaxy server may be unexpectedly down.
            last_err = unknown_err
            display.warning(
                "Skipping Galaxy server {server!s}. "
                "Got an unexpected error when getting "
                "available versions of collection {fqcn!s}: {err!s}".
                format(
                    server=api.api_server,
                    fqcn=collection_candidate.fqcn,
                    err=to_text(unknown_err),
                )
            )
    if last_err:
        raise last_err
    return []