docs: static Throwable[] getSuppressed(Throwable throwable) {
      try {
        Method getSuppressed = throwable.getClass().getMethod("getSuppressed");
        return (Throwable[]) getSuppressed.invoke(throwable);
      } catch (NoSuchMethodException e) {
        return new Throwable[0];
      } catch (IllegalAccessException e) {
        throw new RuntimeException(e);
      } catch (InvocationTargetException e) {
        throw new RuntimeException(e);
      }
    }