code: @SuppressWarnings("unchecked")
    public RetryPolicy<R> abortOn(Class<? extends Throwable>... failures) {
      Assert.notNull(failures, "failures");
      Assert.isTrue(failures.length > 0, "Failures cannot be empty");
      return abortOn(Arrays.asList(failures));
    }
docs: Specifies when retries should be aborted. Any failure that is assignable from the {@code failures} will be result
  in retries being aborted.
  
  @throws NullPointerException if {@code failures} is null
  @throws IllegalArgumentException if failures is empty