code: public Period plus(TemporalAmount amountToAdd) {
          Period amount = Period.from(amountToAdd);
          return create(
                  Jdk8Methods.safeAdd(years, amount.years),
                  Jdk8Methods.safeAdd(months, amount.months),
                  Jdk8Methods.safeAdd(days, amount.days));
      }
docs: Returns a copy of this period with the specified amount added.
  <p>
  This input amount is converted to a {@code Period} using {@code from(TemporalAmount)}.
  This operates separately on the years, months and days.
  <p>
  For example, "1 year, 6 months and 3 days" plus "2 years, 2 months and 2 days"
  returns "3 years, 8 months and 5 days".
  <p>
  This instance is immutable and unaffected by this method call.
  
  @param amountToAdd  the period to add, not null
  @return a {@code Period} based on this period with the requested period added, not null
  @throws ArithmeticException if numeric overflow occurs