code: private Timestamp addMonthForPrecision(int amount, Precision precision) {
          Calendar cal = calendarValue();
          cal.add(Calendar.MONTH, amount);
          return new Timestamp(cal, precision, _fraction, _offset);
      }
docs: Adds the given number of months, extending (if necessary) the resulting Timestamp to the given
  precision.
  @param amount the number of months to add.
  @param precision the precision that the Timestamp will be extended to, if it does not already include that
  precision.
  @return a new Timestamp.