def METHOD_NAME(
    item: Union["Distro", "Image"], api_handle: Optional["CobblerAPI"] = None
) -> List[str]:
    """
    This is trying to return you the list of known bootloaders if all resorts fail. Otherwise this returns a list which
    contains only the subset of bootloaders which are available by the distro in the argument.
    :param distro: The distro to check for.
    :param api_handle: The api instance to resolve metadata and settings from.
    :return: The list of bootloaders or a dict of well known bootloaders.
    """
    try:
        # Try to read from the signature
        if api_handle is not None:
            return api_handle.get_signatures()["breeds"][item.breed][item.os_version][
                "boot_loaders"
            ][item.arch.value]
        raise Exception("Fall through to cache for signatures!")
    except Exception:
        try:
            # Try to read directly from the cache
            return signature_cache["breeds"][item.breed][item.os_version][
                "boot_loaders"
            ][item.arch.value]
        except Exception:
            try:
                well_known_defaults = {
                    "ppc": ["grub", "pxe"],
                    "ppc64": ["grub", "pxe"],
                    "ppc64le": ["grub", "pxe"],
                    "ppc64el": ["grub", "pxe"],
                    "aarch64": ["grub"],
                    "i386": ["grub", "pxe", "ipxe"],
                    "x86_64": ["grub", "pxe", "ipxe"],
                }
                # Else use some well-known defaults
                return well_known_defaults[item.arch.value]
            except Exception:
                # Else return the globally known list
                return utils.get_supported_system_boot_loaders()