// Token: 0x06000601 RID: 1537 RVA: 0x0002DB80 File Offset: 0x0002BD80 protected override void CollectItemsToExpire() { int num = 0; if (base.MailboxDataForTags.HoldCleanupFolderType != DefaultFolderType.None) { HoldCleanupEnforcer.Tracer.TraceInformation <HoldCleanupEnforcer, DefaultFolderType, string>(32992, (long)this.GetHashCode(), "{0}: Resuming HoldCleanup at folder {1} and InternetMessageId {2}", this, base.MailboxDataForTags.HoldCleanupFolderType, base.MailboxDataForTags.HoldCleanupInternetMessageId); num = Array.IndexOf <DefaultFolderType>(HoldCleanupEnforcer.DumpsterFolders, base.MailboxDataForTags.HoldCleanupFolderType); } int num2 = num; try { for (int i = num; i < HoldCleanupEnforcer.DumpsterFolders.Length; i++) { if (!this.CollectItemsInFolder(HoldCleanupEnforcer.DumpsterFolders[i])) { HoldCleanupEnforcer.Tracer.TraceWarning <HoldCleanupEnforcer, DefaultFolderType>((long)this.GetHashCode(), "{0}: CollectItemsToExpire did not complete for folderType {1}.", this, HoldCleanupEnforcer.DumpsterFolders[i]); break; } num2++; } } finally { StringBuilder stringBuilder = new StringBuilder(); IOrderedEnumerable <KeyValuePair <string, long> > source = from dirtyPropertyPair in this.dirtyPropertyCount orderby dirtyPropertyPair.Value descending select dirtyPropertyPair; foreach (KeyValuePair <string, long> keyValuePair in source.Take(10)) { stringBuilder.AppendFormat("{0}: {1}", keyValuePair.Key, keyValuePair.Value); stringBuilder.AppendLine(); } Globals.Logger.LogEvent(base.MailboxDataForTags.ElcUserTagInformation.ADUser.OrganizationId, InfoWorkerEventLogConstants.Tuple_HoldCleanupStatistics, null, new object[] { base.MailboxDataForTags.MailboxSession.MailboxOwner, base.MailboxDataForTags.StatisticsLogEntry.NumberOfItemsAnalyzedByHoldCleanupEnforcer, base.MailboxDataForTags.StatisticsLogEntry.NumberOfItemsDeterminedDuplicateByHoldCleanupEnforcer, base.MailboxDataForTags.StatisticsLogEntry.SizeOfItemsDeterminedDuplicateByHoldCleanupEnforcer, base.MailboxDataForTags.StatisticsLogEntry.NumberOfItemsSkippedByHoldCleanupEnforcer, num2 == HoldCleanupEnforcer.DumpsterFolders.Length, stringBuilder }); } if (num2 == HoldCleanupEnforcer.DumpsterFolders.Length) { Exception arg = null; if (!ElcMailboxHelper.ClearHoldCleanupWatermarkFAIMessage(base.MailboxDataForTags.MailboxSession.ClientInfoString, base.MailboxDataForTags.MailboxSession.MailboxOwner, out arg)) { HoldCleanupEnforcer.Tracer.TraceError <HoldCleanupEnforcer, Exception>((long)this.GetHashCode(), "{0}: Unable to clear the watermark due to {1}.", this, arg); } } }