code: public MachineTime<U> minus(MachineTime<U> duration) {
  
          if (duration.isEmpty()) {
              return this;
          } else if (this.isEmpty()) {
              return duration.inverse();
          }
  
          long s = Math.subtractExact(this.seconds, duration.seconds);
          int f = this.nanos - duration.nanos;
          return new MachineTime<>(s, f, this.scale);
  
      }
docs: /*[deutsch]
  <p>Subtrahiert den angegebenen Zeitbetrag von dieser maschinellen
  Dauer. </p>
  
  @param   duration    other machine time to be subtracted
  @return  difference result
  @throws  ArithmeticException in case of numerical overflow
  @since   2.0