code: public static MachineTime<SI> ofSISeconds(double seconds) {
  
          if (Double.isInfinite(seconds) || Double.isNaN(seconds)) {
              throw new IllegalArgumentException("Invalid value: " + seconds);
          }
  
          long secs = (long) Math.floor(seconds);
          int fraction = (int) ((seconds - secs) * MRD);
          return ofSIUnits(secs, fraction);
  
      }
docs: /*[deutsch]
  <p>Erzeugt eine Dauer als Maschinenzeit auf der UTC-Skala. </p>
  
  @param   seconds     decimal SI-seconds
  @return  new machine time duration
  @throws  ArithmeticException in case of numerical overflow
  @throws  IllegalArgumentException if the argument is infinite or NaN
  @since   2.0