public async Task Test_MultiThreadTaskExecution()
        {
            ExchangeService exchangeServiceMailboxA = this.GetExchangeService(AppConfig.MailboxA);
            var             itemsFromInbox1MailboxA = exchangeServiceMailboxA.FindItemsAsync(
                new FolderId(WellKnownFolderName.Inbox),
                new MessageView(20));

            var itemsFromSentMailboxA = exchangeServiceMailboxA.FindItemsAsync(
                new FolderId(WellKnownFolderName.SentItems),
                new MessageView(20));

            var itemsFromInbox2MailboxA = exchangeServiceMailboxA.FindItemsAsync(
                new FolderId(WellKnownFolderName.Inbox),
                new MessageView(20));

            ExchangeService exchangeServiceMailboxB = this.GetExchangeService(AppConfig.MailboxB);
            var             itemsFromInbox1MailboxB = exchangeServiceMailboxB.FindItemsAsync(
                new FolderId(WellKnownFolderName.Inbox),
                new MessageView(20));

            var itemsFromSentMailboxB = exchangeServiceMailboxB.FindItemsAsync(
                new FolderId(WellKnownFolderName.SentItems),
                new MessageView(20));

            var itemsFromInbox2MailboxB = exchangeServiceMailboxB.FindItemsAsync(
                new FolderId(WellKnownFolderName.Inbox),
                new MessageView(20));

            var createInferenceClassificationMailboxA = exchangeServiceMailboxA.CreateInferenceClassificationOverrideAsync(new InferenceClassificationOverride()
            {
                ClassifyAs         = InferenceClassificationType.Focused,
                SenderEmailAddress = new EmailAddress()
                {
                    Address = "*****@*****.**"
                }
            });

            var createInferenceClassificationMailboxB = exchangeServiceMailboxA.CreateInferenceClassificationOverrideAsync(new InferenceClassificationOverride()
            {
                ClassifyAs         = InferenceClassificationType.Focused,
                SenderEmailAddress = new EmailAddress()
                {
                    Address = "*****@*****.**"
                }
            });

            foreach (MailFolder folder in await exchangeServiceMailboxA.FindFoldersAsync(new FolderId(WellKnownFolderName.MsgFolderRoot), null, new FolderView(10)))
            {
                Assert.AreEqual(
                    AppConfig.MailboxA,
                    folder.MailboxId.Id);
            }

            foreach (Item item in await itemsFromInbox1MailboxA)
            {
                if (item is Message msg)
                {
                    Assert.AreEqual(
                        AppConfig.MailboxA,
                        msg.MailboxId.Id);
                }
            }

            foreach (Item item in await itemsFromInbox1MailboxB)
            {
                if (item is Message msg)
                {
                    Assert.AreEqual(
                        AppConfig.MailboxB,
                        msg.MailboxId.Id);
                }
            }

            InferenceClassificationOverride inferenceClassificationOverrideA =
                await createInferenceClassificationMailboxA;

            inferenceClassificationOverrideA.SenderEmailAddress = new EmailAddress()
            {
                Address = "*****@*****.**"
            };

            await inferenceClassificationOverrideA.UpdateAsync();

            Assert.AreEqual(
                "*****@*****.**",
                inferenceClassificationOverrideA.SenderEmailAddress.Address);

            foreach (MailFolder folder in await exchangeServiceMailboxB.FindFoldersAsync(new FolderId(WellKnownFolderName.MsgFolderRoot), null, new FolderView(10)))
            {
                Assert.AreEqual(
                    AppConfig.MailboxB,
                    folder.MailboxId.Id);
            }

            foreach (Item item in await itemsFromInbox2MailboxA)
            {
                if (item is Message msg)
                {
                    Assert.AreEqual(
                        AppConfig.MailboxA,
                        msg.MailboxId.Id);
                }
            }

            InferenceClassificationOverride inferenceClassificationOverrideB =
                await createInferenceClassificationMailboxB;

            inferenceClassificationOverrideB.ClassifyAs = InferenceClassificationType.Other;
            await inferenceClassificationOverrideB.UpdateAsync();

            Assert.AreEqual(
                InferenceClassificationType.Other,
                inferenceClassificationOverrideB.ClassifyAs);

            foreach (Item item in await itemsFromSentMailboxB)
            {
                if (item is Message msg)
                {
                    Assert.AreEqual(
                        AppConfig.MailboxB,
                        msg.MailboxId.Id);
                }
            }

            foreach (Item item in await itemsFromSentMailboxA)
            {
                if (item is Message msg)
                {
                    Assert.AreEqual(
                        AppConfig.MailboxA,
                        msg.MailboxId.Id);
                }
            }

            foreach (Item item in await itemsFromInbox2MailboxB)
            {
                if (item is Message msg)
                {
                    Assert.AreEqual(
                        AppConfig.MailboxB,
                        msg.MailboxId.Id);
                }
            }
        }