code: @SafeVarargs
      public final <U extends IsoUnit> Duration<U> getDuration(U... units) {
  
          PlainTimestamp tsp = this.getTemporalOfOpenEnd();
          boolean max = (tsp == null);
  
          if (max) { // max reached
              tsp = this.getEnd().getTemporal();
          }
  
          Duration<U> result =
              Duration.in(units).between(this.getTemporalOfClosedStart(), tsp);
  
          if (max) {
              for (U unit : units) {
                  if (unit.equals(ClockUnit.NANOS)) {
                      return result.plus(1, unit);
                  }
              }
          }
  
          return result;
  
      }
docs: /*[deutsch]
  <p>Liefert die L&auml;nge dieses Intervalls in den angegebenen
  Zeiteinheiten. </p>
  
  @param   <U> generic unit type
  @param   units   time units to be used in calculation
  @return  duration in given units
  @throws  UnsupportedOperationException if this interval is infinite
  @since   2.0