DateFormatter df = calendars.getDateFormatter();
Locale locale = Locales.getCurrent();
TimeZone timezone = calendars.getDefaultTimeZone();
String title = Util.createEventTitle(df, locale, timezone, ce);
JSONObject json = new JSONObject();
json.put("id", calendars.getCalendarEventId(ce));
json.put("key", key);
json.put("title", calendars.isEscapeXML() ? escapeXML(title) : title); //ZKCAL-33: title should also escapeXML
json.put("headerColor", ce.getHeaderColor());
json.put("contentColor", ce.getContentColor());
json.put("content", calendars.isEscapeXML() ? escapeXML(ce.getContent()): ce.getContent());
json.put("beginDate", String.valueOf(getDSTTime(timezone, ce.getBeginDate())));
json.put("endDate", String.valueOf(getDSTTime(timezone ,ce.getEndDate())));
json.put("isLocked", String.valueOf(ce.isLocked()));
json.put("zclass", ce.getZclass());
String icon = ce.getIcon();
if (!Strings.isBlank(icon))
json.put("icon", icon);
sb.append(json.toString()).append(",");
}