@Override
        public T get() {
            try {
                ForkJoinPool.managedBlock(new ManagedBlocker() {
                    @Override
                    public boolean block() throws InterruptedException {
                        result = supplier.get();
                        return true;
                    }

                    @Override
                    public boolean isReleasable() {
                        return result != NULL;
                    }
                });
            }
            catch (InterruptedException e) {
                throw new RuntimeException(e);
            }

            return result;
        }
A factory class for methods that wrap functional interfaces like
{@link Supplier} in a "blocking" ({@link ManagedBlocker}) equivalent, which
can be used with the {@link ForkJoinPool}.

@author Lukas Eder
jOOL-java-8/src/main/java/org/jooq/lambda/Blocking.java