@Override
        public final boolean equals(Object o) {
            if (this == o) return true;
            if (!(o instanceof NonNullableExpression)) return false;
            final NonNullableExpression<?, ?> that = (NonNullableExpression<?, ?>) o;
            return Objects.equals(inner, that.innerNullable()) &&
                Objects.equals(nullStrategy(), that.nullStrategy());
        }
Abstract base for a {@link NonNullableExpression}.

@param <T>     the input type
@param <INNER> the wrapped nullable expression type
runtime-parent/runtime-compute/src/main/java/com/speedment/runtime/compute/internal/expression/OrElseThrowUtil.java