docs: public Rational times(final Rational pOther) {
          // special cases
          if (equals(ZERO) || pOther.equals(ZERO)) {
              return ZERO;
          }
  
          // reduce p1/q2 and p2/q1, then multiply, where a = p1/q1 and b = p2/q2
          Rational c = new Rational(numerator, pOther.denominator);
          Rational d = new Rational(pOther.numerator, denominator);
  
          return new Rational(c.numerator * d.numerator, c.denominator * d.denominator);
      }