docs: public Fiat coinToFiat(Coin convertCoin) {
          // Use BigInteger because it's much easier to maintain full precision without overflowing.
          final BigInteger converted = BigInteger.valueOf(convertCoin.value).multiply(BigInteger.valueOf(fiat.value))
                  .divide(BigInteger.valueOf(coin.value));
          if (converted.compareTo(BigInteger.valueOf(Long.MAX_VALUE)) > 0
                  || converted.compareTo(BigInteger.valueOf(Long.MIN_VALUE)) < 0)
              throw new ArithmeticException("Overflow");
          return Fiat.valueOf(fiat.currencyCode, converted.longValue());
      }