class_docstr: Retries if any of the causes of the raised exception is of one or more types.
  
  The check on the type of the cause of the exception is done recursively (until finding
  an exception in the chain that has no `__cause__`)
class_docstr_tok: ["Retries","if","any","of","the","causes","of","the","raised","exception","is","of","one","or","more","types",".","The","check","on","the","type","of","the","cause","of","the","exception","is","done","recursively","(","until","finding","an","exception","in","the","chain","that","has","no","`","__cause__","`",")"]
code: def __call__(self, retry_state: "RetryCallState") -> bool:
      if retry_state.outcome is None:
          raise RuntimeError("__call__ called before outcome was set")
  
      if retry_state.outcome.failed:
          exc = retry_state.outcome.exception()
          while exc is not None:
              if isinstance(exc.__cause__, self.exception_cause_types):
                  return True
              exc = exc.__cause__
  
      return False
  
imports: import abc
  import re
  import typing
label_desc: Use image node_id 2 for calling the retry_if_exception_cause_type obj's underlying member method code with example usage: obj.__call__(retry_state) and returns: False, True