docs: static NumberMath getMath(Number number) {
          if (isLong(number)) {
              return LongMath.INSTANCE;
          }
          if (isFloatingPoint(number)) {
              return FloatingPointMath.INSTANCE;
          }
          if (isBigDecimal(number)) {
              return BigDecimalMath.INSTANCE;
          }
          if (isBigInteger(number)) {
              return BigIntegerMath.INSTANCE;
          }
          if (isInteger(number) || isShort(number) || isByte(number)) {
              return IntegerMath.INSTANCE;
          }
          // also for custom Number implementations
          return BigDecimalMath.INSTANCE;
      }