public static void rethrowIfUnrecoverable(Throwable t) {
    if (t instanceof OutOfMemoryError) {
      sneakyThrow(t);
    }
  }
Allows to throw an unchecked exception without declaring it in a throws clause.
The given {@code Throwable} will be unconditionally thrown.
The return type is only present to be able to use the method as
last statement in a method or lambda that needs a value returned,
but the method will never return successfully.

@param throwable the throwable to be thrown
@param <R>       the fake return type
@param <T>       the class of the throwable that will be thrown
@return nothing as the method will never return successfully
@throws T unconditionally
spock-core/src/main/java/org/spockframework/util/ExceptionUtil.java