code: public final PeriodList getConsumedTime(final Date rangeStart,
              final Date rangeEnd, final boolean normalise) {
          PeriodList periods = new PeriodList();
          // if component is transparent return empty list..
          if (!Transp.TRANSPARENT.equals(getProperty(Property.TRANSP))) {
  
  //          try {
            periods = calculateRecurrenceSet(new Period(new DateTime(rangeStart),
                    new DateTime(rangeEnd)));
  //          }
  //          catch (ValidationException ve) {
  //              log.error("Invalid event data", ve);
  //              return periods;
  //          }
  
            // if periods already specified through recurrence, return..
            // ..also normalise before returning.
            if (!periods.isEmpty() && normalise) {
                periods = periods.normalise();
            }
          }
  
          return periods;
      }
docs: Returns a list of periods representing the consumed time for this event in the specified range. Note that the
  returned list may contain a single period for non-recurring components or multiple periods for recurring
  components. If no time is consumed by this event an empty list is returned.
  @param rangeStart the start of the range to check for consumed time
  @param rangeEnd the end of the range to check for consumed time
  @param normalise indicate whether the returned list of periods should be normalised
  @return a list of periods representing consumed time for this event