public override void Initialize(TransactionalRequestJob syncRequest) { base.Initialize(syncRequest); base.RequestJobIdentity = syncRequest.Identity.ToString(); base.IncrementalSyncInterval = syncRequest.IncrementalSyncInterval; Guid targetExchangeGuid = syncRequest.TargetExchangeGuid; MailboxCopierFlags mailboxCopierFlags = MailboxCopierFlags.None; LocalizedString sourceTracingID = LocalizedString.Empty; switch (syncRequest.SyncProtocol) { case SyncProtocol.Imap: mailboxCopierFlags |= MailboxCopierFlags.Imap; sourceTracingID = MrsStrings.ImapTracingId(syncRequest.EmailAddress.ToString()); break; case SyncProtocol.Eas: mailboxCopierFlags |= MailboxCopierFlags.Eas; sourceTracingID = MrsStrings.EasTracingId(syncRequest.EmailAddress.ToString()); break; case SyncProtocol.Pop: mailboxCopierFlags |= MailboxCopierFlags.Pop; sourceTracingID = MrsStrings.PopTracingId(syncRequest.EmailAddress.ToString()); break; } string orgID = (syncRequest.OrganizationId != null && syncRequest.OrganizationId.OrganizationalUnit != null) ? (syncRequest.OrganizationId.OrganizationalUnit.Name + "\\") : string.Empty; base.MailboxMerger = new MailboxMerger(Guid.Empty, targetExchangeGuid, syncRequest, this, mailboxCopierFlags, sourceTracingID, MrsStrings.PrimaryMailboxTracingId(orgID, targetExchangeGuid)); }