def METHOD_NAME(self, is_cae: bool = False) -> Optional[TokenCache]:
    # If no cache options were provided, the default cache will be used. This credential accepts the
    # user's default cache regardless of whether it's encrypted. It doesn't create a new cache. If the
    # default cache exists, the user must have created it earlier. If it's unencrypted, the user must
    # have allowed that.
    cache_options = self._cache_persistence_options or TokenCachePersistenceOptions(allow_unencrypted_storage=True)
    if platform.system() not in {"Darwin", "Linux", "Windows"}:
        raise CredentialUnavailableError(message="Shared token cache is not supported on this platform.")
    if not self._cache and not is_cae:
        try:
            self._cache = _load_persistent_cache(cache_options, is_cae)
        except Exception:  # pylint:disable=broad-except
            return None
    if not self._cae_cache and is_cae:
        try:
            self._cae_cache = _load_persistent_cache(cache_options, is_cae)
        except Exception:  # pylint:disable=broad-except
            return None
    return self._cae_cache if is_cae else self._cache