The default implementation of RetryCondition used by the SDK. User could
extend this class to provide additional custom conditions.
The default implementation checks for various conditions in
the following order:

Retry on client exceptions caused by IOException;

Retry on service exceptions that are either 500 internal server
errors, 503 service unavailable errors, service throttling errors or
clock skew errors.