IFxProxy IDestinationFolder.GetFxProxy(FastTransferFlags flags)
        {
            MrsTracer.Provider.Function("MapiDestinationFolder.GetFxProxy", new object[0]);
            IFxProxy result;

            using (base.Mailbox.RHTracker.Start())
            {
                IMapiFxProxy fxProxyCollector = base.Folder.GetFxProxyCollector();
                IFxProxy     proxy            = new FxProxyBudgetWrapper(fxProxyCollector, true, new Func <IDisposable>(base.Mailbox.RHTracker.Start), new Action <uint>(base.Mailbox.RHTracker.Charge));
                IFxProxy     fxProxy          = new FxProxyWrapper(proxy, null);
                result = fxProxy;
            }
            return(result);
        }
        IFxProxy IDestinationMailbox.GetFxProxy()
        {
            MrsTracer.Provider.Function("MapiDestinationMailbox.GetFxProxy", new object[0]);
            base.VerifyMailboxConnection(VerifyMailboxConnectionFlags.None);
            IFxProxy result;

            using (base.RHTracker.Start())
            {
                FxProxyBudgetWrapper proxy          = new FxProxyBudgetWrapper(base.MapiStore.GetFxProxyCollector(), true, new Func <IDisposable>(base.RHTracker.Start), new Action <uint>(base.RHTracker.Charge));
                FxProxyWrapper       fxProxyWrapper = new FxProxyWrapper(proxy, null);
                result = fxProxyWrapper;
            }
            return(result);
        }
        IFxProxy IDestinationFolder.GetFxProxy(FastTransferFlags flags)
        {
            MrsTracer.Provider.Function("StorageDestinationFolder.GetFxProxy: {0}", new object[]
            {
                base.DisplayNameForTracing
            });
            IFxProxy result;

            using (base.Mailbox.RHTracker.Start())
            {
                IMapiFxProxy destProxy = flags.HasFlag(FastTransferFlags.PassThrough) ? base.CoreFolder.GetFxProxyCollector() : new StorageFolderProxy(this, base.Mailbox.Flags.HasFlag(LocalMailboxFlags.Move));
                IFxProxy     proxy     = new FxProxyBudgetWrapper(destProxy, true, new Func <IDisposable>(base.Mailbox.RHTracker.Start), new Action <uint>(base.Mailbox.RHTracker.Charge));
                IFxProxy     fxProxy   = new FxProxyWrapper(proxy, null);
                result = fxProxy;
            }
            return(result);
        }