public static <T> Supplier<T> wrapSupplier(final ThrowingSupplier<T> supplierThatThrows) {
        return () -> {
            try {
                return supplierThatThrows.get();
            } catch (RuntimeException e) {
                throw e;
            } catch (Exception e) {
                throw new RuntimeException(e);
            }
        };
    }
@author Stephen Mallette (http://stephen.genoprime.com)
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/function/FunctionUtils.java