public static <T> ToByteNullable<T> signOrNull(ToIntNullable<T> expression) {
        return new ToByteNullableImpl<>(
            SignUtil.signInt(expression.orThrow()),
            expression.isNull());
    }
Creates and returns an expression that returns {@code 1} if the result of
the input expression is positive, {@code -1} if the result of the input
expression is negative and {@code 0} if the result of the input
expression is {@code 0}. If the result of the given expression is
{@code null}, then the result of this expression will also be
{@code null}.

@param expression  the input expression
@param <T>         the input type
@return            the new expression
runtime-parent/runtime-compute/src/main/java/com/speedment/runtime/compute/expression/Expressions.java