public static <T> ToDouble<T> negateDouble(ToDouble<T> expression) {
        class NegateDouble extends AbstractNegate<T, ToDouble<T>> implements ToDouble<T> {
            private NegateDouble(ToDouble<T> inner) {
                super(inner);
            }

            @Override
            public double applyAsDouble(T object) {
                return -inner.applyAsDouble(object);
            }
        }

        return new NegateDouble(expression);
    }
Creates and returns an expression that will compute the negative result
of the specified expression.

@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/internal/expression/NegateUtil.java