code: public Duration<CalendarUnit> toCalendarPeriod() {
  
          if (this.isEmpty()) {
              return Duration.ofZero();
          }
  
          List<Item<CalendarUnit>> calItems = new ArrayList<>();
  
          for (Item<U> item : this.items) {
              if (item.getUnit() instanceof CalendarUnit) {
                  calItems.add(Item.of(item.getAmount(), CalendarUnit.class.cast(item.getUnit())));
              }
          }
  
          if (calItems.isEmpty()) {
              return Duration.ofZero();
          }
  
          return new Duration<>(calItems, this.isNegative());
  
      }
docs: /*[deutsch]
  <p>Extrahiert eine neue Dauer, die nur alle kalendarischen Zeiteinheiten
  dieser Dauer enth&auml;lt. </p>
  
  <p>Der Uhrzeitanteil wird entfernt. </p>
  
  @return  new duration with calendar units only
  @since   3.0
  @see     #compose(Duration, Duration)
  @see     #toClockPeriod()