code: private boolean isTransientException(Throwable throwableException) {
          if (throwableException != null) {
              return !((throwableException instanceof UnsupportedOperationException) ||
                      (throwableException instanceof ApplicationException && ((ApplicationException) throwableException).getCode() != ApplicationException.Code.BACKEND_ERROR));
          }
          return true;
      }
docs: Used to determine if the exception is thrown due to a transient failure
  and the operation is expected to succeed upon retrying.
  
  @param throwableException the exception that is thrown
  @return true - if the exception is a transient failure
  false - if the exception is non-transient