public void CheckCalendarSpecificData(IDictionary<string, object> calendarSpecificData)
        {
            if (calendarSpecificData == null)
            {
                throw new ArgumentNullException("calendarSpecificData", "Calendar Specific Data cannot be null");
            }

            object ewsCalendar;
            object serverSettings;
            object addAsAppointments;
            if (!(calendarSpecificData.TryGetValue(EWSCALENDAR, out ewsCalendar) &&
                  calendarSpecificData.TryGetValue(EXCHANGESERVERSETTINGS, out serverSettings) &&
                  calendarSpecificData.TryGetValue("AddAsAppointments", out addAsAppointments)))
            {
                throw new InvalidOperationException(
                    string.Format(
                        "{0} {1} and {2}  keys should be present, both of them can be null in case Default Profile and Default Calendar will be used. {0} is of 'string' type, {1} is of 'OutlookCalendar' type and {2} is of bool type.",
                        EWSCALENDAR, EXCHANGESERVERSETTINGS, "AddAsAppointments"));
            }
            _ewsCalendar = ewsCalendar as EWSCalendar;
            ExchangeServerSettings = serverSettings as ExchangeServerSettings;
            _addAsAppointments = (bool) addAsAppointments;
            object eventCategory;
            if (calendarSpecificData.TryGetValue("EventCategory", out eventCategory))
            {
                _eventCategory = eventCategory as Category;
            }
            else
            {
                _eventCategory = null;
            }
        }
 public List<AppAppointment> GetAppointmentsAsync(int daysInPast, int daysInFuture,
     string profileName, EWSCalendar outlookCalendar)
 {
     return null;
 }