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);
        }