docs: @SuppressWarnings("unchecked")
  	public static <T extends Throwable> T wrap(Throwable throwable, Class<T> wrapThrowable) {
  		if (wrapThrowable.isInstance(throwable)) {
  			return (T) throwable;
  		}
  		return ReflectUtil.newInstance(wrapThrowable, throwable);
  	}