code: private boolean isSingleMultiDay() {
  
          long duration = getEnd().getTime() - getStart().getTime();
          if (duration > I_CmsSerialDateValue.DAY_IN_MILLIS) {
              return true;
          }
          if (isWholeDay() && (duration <= I_CmsSerialDateValue.DAY_IN_MILLIS)) {
              return false;
          }
          Calendar start = new GregorianCalendar();
          start.setTime(getStart());
          Calendar end = new GregorianCalendar();
          end.setTime(getEnd());
          if (start.get(Calendar.DAY_OF_MONTH) == end.get(Calendar.DAY_OF_MONTH)) {
              return false;
          }
          return true;
  
      }
docs: Returns a flag, indicating if the current event is a multi-day event.
  The method is only called if the single event has an explicitely set end date
  or an explicitely changed whole day option.
  
  @return a flag, indicating if the current event takes lasts over more than one day.