docs: private static <E extends Throwable> E wrapIfNecessary(Throwable throwable)
  			throws RetryException {
  		if (throwable instanceof Error) {
  			throw (Error) throwable;
  		}
  		else if (throwable instanceof Exception) {
  			@SuppressWarnings("unchecked")
  			E rethrow = (E) throwable;
  			return rethrow;
  		}
  		else {
  			throw new RetryException("Exception in retry", throwable);
  		}
  	}