protected override void CreateHelperCache(Stack<IItemBase> dealItemStack)
        {
            var mailAddress = "";
            foreach (var itemBase in dealItemStack)
            {
                if (itemBase.ItemKind == ItemKind.Mailbox)
                {
                    var des = MailClassUtil.GetMailboxData(itemBase);
                    mailAddress = des.MailAddress;
                    break;
                }
            }
            if (string.IsNullOrEmpty(mailAddress))
                throw new ArgumentException();

            RestoreDestinationImpl instance = null;
            if(!helperDic.TryGetValue(mailAddress, out instance))
            {
                instance = new RestoreDestinationImpl(_argument, _dataAccess);
                instance.DesMailboxAddress = mailAddress;
                instance.DesFolderDisplayNamePath = DestinationFolder;
                helperDic.Add(mailAddress, instance);
            }
            _restoreHelperCache = instance;
        }
 protected virtual void CreateHelperCache(Stack<IItemBase> dealItemStack)
 {
     if (_restoreHelperCache == null)
     {
         _restoreHelperCache = new RestoreDestinationImpl(_argument, _dataAccess);
         _restoreHelperCache.DesMailboxAddress = DestinationMailbox;
         _restoreHelperCache.DesFolderDisplayNamePath = DestinationFolder;
     }
 }