code: public PlainDate plus(
          long amount,
          CalendarUnit unit
      ) {
  
          if (unit == null) {
              throw new NullPointerException("Missing unit.");
          } else if (amount == 0) {
              return this;
          }
  
          try {
              return PlainDate.doAdd(unit, this, amount, OverflowUnit.POLICY_PREVIOUS_VALID_DATE);
          } catch (IllegalArgumentException iae) {
              ArithmeticException ex = new ArithmeticException("Result beyond boundaries of time axis.");
              ex.initCause(iae);
              throw ex;
          }
  
      }
docs: /*[deutsch]
  <p>Addiert den angegebenen Betrag der entsprechenden Zeiteinheit
  zu diesem Datum und liefert das Additionsergebnis zur&uuml;ck. </p>
  
  <p>Deckt die wichtigsten Zeiteinheiten ab, die mit diesem Typ verwendet werden
  k&ouml;nnen und ist aus Performance-Gr&uuml;nden &uuml;berladen. </p>
  
  @param   amount      the amount of units to be added to this date (maybe negative)
  @param   unit        the unit to be used in addition
  @return  result of addition as changed copy while this instance remains unaffected
  @throws  ArithmeticException in case of numerical overflow
  @see     #plus(long, Object) plus(long, IsoDateUnit)
  @since   4.18