code: public Duration minus(Duration duration) {
          long secsToSubtract = duration.getSeconds();
          int nanosToSubtract = duration.getNano();
          if (secsToSubtract == Long.MIN_VALUE) {
              return plus(Long.MAX_VALUE, -nanosToSubtract).plus(1, 0);
          }
          return plus(-secsToSubtract, -nanosToSubtract);
       }
docs: Returns a copy of this duration with the specified duration subtracted.
  <p>
  This instance is immutable and unaffected by this method call.
  
  @param duration  the duration to subtract, positive or negative, not null
  @return a {@code Duration} based on this duration with the specified duration subtracted, not null
  @throws ArithmeticException if numeric overflow occurs