src/main/java/ognl/OgnlOps.java
public static int getNumericType(Object v1, Object v2, boolean canBeNonNumeric)
    {
        return getNumericType(getNumericType(v1), getNumericType(v2), canBeNonNumeric);
    }
public static int getNumericType(Object v1, Object v2, boolean canBeNonNumeric)
    {
        return getNumericType(getNumericType(v1), getNumericType(v2), canBeNonNumeric);
    }
Returns the constant from the NumericTypes interface that best expresses the type of an
operation, which can be either numeric or not, on the two given objects.

@param v1
one argument to an operator
@param v2
the other argument
@param canBeNonNumeric
whether the operator can be interpreted as non-numeric
@return the appropriate constant from the NumericTypes interface