public ISyncWatermark GetMaxItemWatermark(ISyncWatermark currentWatermark)
        {
            this.CheckDisposed("GetMaxItemWatermark");
            MailboxSyncWatermark mailboxSyncWatermark = MailboxSyncWatermark.Create();

            mailboxSyncWatermark.IcsState = this.CatchUpIcsState((MailboxSyncWatermark)currentWatermark);
            using (QueryResult queryResult = this.folder.ItemQuery(ItemQueryType.None, null, MailboxSyncProvider.sortByArticleIdDescending, MailboxSyncProvider.queryColumns))
            {
                object[][] rows = queryResult.GetRows(1);
                if (rows.Length != 0)
                {
                    StoreObjectId objectId = ((VersionedId)rows[0][1]).ObjectId;
                    mailboxSyncWatermark.ChangeNumber = (int)rows[0][0];
                }
            }
            return(mailboxSyncWatermark);
        }
 public virtual ISyncWatermark CreateNewWatermark()
 {
     this.CheckDisposed("CreateNewWatermark");
     return(MailboxSyncWatermark.Create());
 }