Collection  appts = getAppointmentsForRange(octxt, start, end, ID_AUTO_INCREMENT);
Collection  appts = getAppointmentsForRange(octxt, start, end, ID_AUTO_INCREMENT, null);
    public synchronized Calendar getCalendarForRange(OperationContext octxt, long start, long end)    throws ServiceException {        boolean success = false;        try {            beginTransaction("getCalendarForRange", octxt);            Collection /* Appointment */ appts = getAppointmentsForRange(octxt, start, end, ID_AUTO_INCREMENT);            Calendar cal = new Calendar();            // PRODID, VERSION always required            cal.getProperties().add(new ProdId("Zimbra-Calendar-Provider"));            cal.getProperties().add(Version.VERSION_2_0);                        // REPLY            cal.getProperties().add(Method.PUBLISH);                        // default timezone            ICalTimeZone cur = getAccount().getTimeZone();            VTimeZone vtz = cur.toVTimeZone();            cal.getComponents().add(vtz);                                    for (Iterator iter = appts.iterator(); iter.hasNext();) {                Appointment appt = (Appointment)iter.next();                                appt.appendRawCalendarData(cal);            }                        return cal;        } finally {            endTransaction(success);        }    }