/**
  * get calendar by user setting (timezone, first day of week)
  *
  * @param calendarSetting
  * @return calendar object
  */
 public static Calendar getCalendarInstanceBySetting(CalendarSetting calendarSetting) {
   Calendar calendar = GregorianCalendar.getInstance();
   calendar.setLenient(false);
   calendar.setTimeZone(TimeZone.getTimeZone(calendarSetting.getTimeZone()));
   calendar.setFirstDayOfWeek(Integer.parseInt(calendarSetting.getWeekStartOn()));
   calendar.setMinimalDaysInFirstWeek(4);
   return calendar;
 }