public static <T, E extends Enum<E>> ToEnumOrThrow<T, E>
    enumOrElseThrow(ToEnumNullable<T, E> expression) {
        return new ToEnumOrElseThrowImpl<>(expression);
    }
Returns an expression that returns the same value as the specified
expression if it is not {@code null}, and if the wrapped expression
returns {@code null}, throws an exception.

@param expression  the nullable expression to wrap
@param <T>         the input entity type
@param <E>         the enum type
@return            the non-nullable expression
runtime-parent/runtime-compute/src/main/java/com/speedment/runtime/compute/internal/expression/OrElseThrowUtil.java