code: public static Money add(Money a, Money b) {
      return add(a, b, false);
    }
docs: Add two instances of {@code Money}.
  
  The sum is not allowed to overflow.
  
  @param a an instance of {@code Money}
  @param b an instance of {@code Money}
  
  @return a {@code Money} representing the sum
  @throws java.lang.IllegalArgumentException if the two instances cannot be summed
  @throws java.lang.ArithmeticException if overflow occurs when it's not allowed