public static <T> ToDouble<T> doubleMultiplyLong(ToDouble<T> first, ToLong<T> second) {
        class DoubleMultiplyLong extends AbstractMultiply<T, ToDouble<T>, ToLong<T>> implements ToDouble<T> {
            private DoubleMultiplyLong(ToDouble<T> first, ToLong<T> second) {
                super(first, second);
            }

            @Override
            public double applyAsDouble(T object) {
                return firstInner.applyAsDouble(object)
                    * secondInner.applyAsLong(object);
            }
        }

        return new DoubleMultiplyLong(first, second);
    }
Creates and returns an expression that takes the result of the two
expressions and multiplies them to get the product.

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