private FatalState toFatalState() {
    checkState(isFatal(), "cannot explain fatal state when is apparently recoverable");
    if (httpStatus() == 403 && (bodyContains("accessDenied") || bodyContains("notAllowed"))) {
      return FatalState.FATAL_STATE_FATAL_PERMISSION_DENIED;
    }
    // Nit: we _could_ just parse the body into json properly and make sure the JSON body "message"
    // field has this string. This seems fine for now.
    if (httpStatus() == 507 && (bodyContains("Insufficient Space Available") || bodyContains("quotaLimitReached"))) {
      return FatalState.FATAL_STATE_FATAL_DESTINATION_FULL;
    }
    return FatalState.FATAL_STATE_FATAL_UNSPECIFIED;
  }
"Return" that always throws an exception; just an ergonomic wrapper for {@link
throwDtpException} that gives you ability to use call this in a lexical scope that requires a
return.

<p>Never returns, always causes an exception. Return signature is so you can include this in a
codepath that would otherwise excpect a `throw new` keyword to be present if you're missing a
final return.
extensions/data-transfer/portability-data-transfer-microsoft/src/main/java/org/datatransferproject/transfer/microsoft/MicrosoftApiResponse.java