static <T, R> Function<T, R> unchecked(final InterruptibleFunction<T, R> function) {
        return unchecked(function, null);
    }
Wraps a function that throws an {@link InterruptedException} with a catch block that
will reset the interrupt flag and wrap the exception with a {@link UncheckedInterruptedException},
thus making it unchecked and usable in a lambda.
stroom-util/src/main/java/stroom/util/exception/InterruptibleFunction.java