docs: private Throwable extractThrowable(Throwable exception, Class<?> causeClass) {
          if (exception == null) {
              return null;
          } else if (causeClass.isInstance(exception)) {
              return exception;
          } else {
              return extractThrowable(exception.getCause(), causeClass);
          }
      }