public static <T> T doAndRetry(final List<Class<? extends Throwable>> clazzes,
                                   final RetryCallback<T, Exception> callback) throws Exception {
        return doAndRetry(clazzes, callback, SimpleRetryPolicy.DEFAULT_MAX_ATTEMPTS);
    }
Do and retry.

@param <T>      the type parameter
@param clazzes  the classified clazzes
@param callback the callback
@return the t
@throws Exception the exception
core/cas-server-core-util-api/src/main/java/org/apereo/cas/util/function/FunctionUtils.java