docs: static void launder(final Throwable pThrowable, Class<? extends Throwable>... pExpectedTypes) {
          if (pThrowable instanceof Error) {
              throw (Error) pThrowable;
          }
          if (pThrowable instanceof RuntimeException) {
              throw (RuntimeException) pThrowable;
          }
  
          for (Class<? extends Throwable> expectedType : pExpectedTypes) {
              if (expectedType.isInstance(pThrowable)) {
                  throw new RuntimeException(pThrowable);
              }
          }
  
          throw new UndeclaredThrowableException(pThrowable);
      }