code: public Period minus(TemporalAmount amountToSubtract) {
          Period isoAmount = Period.from(amountToSubtract);
          return create(
                  Math.subtractExact(years, isoAmount.years),
                  Math.subtractExact(months, isoAmount.months),
                  Math.subtractExact(days, isoAmount.days));
      }
docs: Returns a copy of this period with the specified period subtracted.
  <p>
  This operates separately on the years, months and days.
  No normalization is performed.
  <p>
  For example, "1 year, 6 months and 3 days" minus "2 years, 2 months and 2 days"
  returns "-1 years, 4 months and 1 day".
  <p>
  The specified amount is typically an instance of {@code Period}.
  Other types are interpreted using {@link Period#from(TemporalAmount)}.
  <p>
  This instance is immutable and unaffected by this method call.
  
  @param amountToSubtract  the amount to subtract, not null
  @return a {@code Period} based on this period with the requested period subtracted, not null
  @throws DateTimeException if the specified amount has a non-ISO chronology or
  contains an invalid unit
  @throws ArithmeticException if numeric overflow occurs