pLogger.logWarning (Constants.ARITH_OP_NULL, pOperator.getOperatorSymbol ()); BigDecimal right = (BigDecimal) coerceToPrimitiveNumber(pRight, BigDecimal.class, pLogger); return pOperator.apply(left, right); BigDecimal right = (BigDecimal) coerceToPrimitiveNumber(pRight, BigDecimal.class, pLogger); return pOperator.apply(left, right); } else { double left = doubleValue(); return PrimitiveObjects.getDouble(pOperator.apply(left, right)); BigInteger right = (BigInteger) coerceToPrimitiveNumber(pRight, BigInteger.class, pLogger); return pOperator.apply(left, right); longValue (); return PrimitiveObjects.getLong (pOperator.apply (left, right));