internal static void Sync(Folder folder) { MailboxSession mailboxSession = folder.Session as MailboxSession; if (mailboxSession == null) { RefreshSharingFolderClient.Tracer.TraceDebug <string>(0L, "Sync for folder {0} called with a non-mailbox session. Ignoring.", folder.DisplayName); return; } SecurityAccessToken securityAccessToken = new SecurityAccessToken(); using (ClientSecurityContext clientSecurityContext = RefreshSharingFolderClient.GetClientSecurityContext(mailboxSession)) { clientSecurityContext.SetSecurityAccessToken(securityAccessToken); } ExDateTime valueOrDefault = folder.GetValueOrDefault <ExDateTime>(FolderSchema.SubscriptionLastSuccessfulSyncTime, ExDateTime.MinValue); RefreshSharingFolderClient.SyncInternal(mailboxSession, valueOrDefault, folder.Id, folder.DisplayName, securityAccessToken); }