code: public static Duration<ClockUnit> ofClockUnits(
          int hours,
          int minutes,
          int seconds
      ) {
  
          List<Item<ClockUnit>> items = new ArrayList<>(3);
  
          if (hours != 0) {
              items.add(Item.of(hours, HOURS));
          }
  
          if (minutes != 0) {
              items.add(Item.of(minutes, MINUTES));
          }
  
          if (seconds != 0) {
              items.add(Item.of(seconds, SECONDS));
          }
  
          return new Duration<>(items, false);
  
      }
docs: /*[deutsch]
  <p>Erzeugt eine positive Zeitspanne in Stunden, Minuten und
  Sekunden. </p>
  
  <p>Alle Argumente d&uuml;rfen nicht negativ sein. Ist ein Argument
  gleich {@code 0}, wird es ignoriert. Wird eine negative Zeitspanne
  gew&uuml;nscht, kann auf dem Ergebnis einfach {@code inverse()}
  aufgerufen werden. </p>
  
  @param   hours       amount in hours
  @param   minutes     amount in minutes
  @param   seconds     amount in seconds
  @return  new duration
  @throws  IllegalArgumentException if any argument is negative
  @see     #inverse()