private void ChangeData()
        {
            if (createList.Count > 0)
            {
                try
                {
                    foreach (ASObject account in createList)
                    {
                        ASObject policy = new ASObject();
                        ASObject ac = new ASObject();
                        ASObjectUtil.copyTo(account, ac);
                        if (ac.ContainsKey("distribution_policy"))
                        {
                            ac.Remove("distribution_policy");
                            policy["distribution_policy"] = account.getObject("distribution_policy");
                        }

                        Remoting.call("MailManager.createMailAccount", new object[] { ac, ASObjectUtil.toJObject(policy).ToString() });

                        _initImportList.Add(account);
                    }
                    createList.Clear();
                }
                catch (Exception ex)
                {
                    createList.Clear();
                    throw ex;
                }
            }

            if (updateList.Count > 0)
            {
                try
                {
                    foreach (ASObject account in updateList)
                    {
                        ASObject policy = new ASObject();
                        ASObject ac = new ASObject();
                        ASObjectUtil.copyTo(account, ac);
                        if (ac.ContainsKey("distribution_policy"))
                        {
                            ac.Remove("distribution_policy");
                            policy["distribution_policy"] = account.getObject("distribution_policy");
                        }

                        Remoting.call("MailManager.updateMailAccount", new object[] { ac, ASObjectUtil.toJObject(policy).ToString() });
                    }

                    updateList.Clear();
                }
                catch (Exception ex)
                {
                    updateList.Clear();
                    throw ex;
                }
            }

            if (removeList.Count > 0)
            {
                try
                {
                    foreach (ASObject account in removeList)
                    {
                        Remoting.call("MailManager.removeMailAccount", new object[] { account.getLong("id") });
                    }

                    removeList.Clear();
                }
                catch (Exception ex)
                {
                    removeList.Clear();
                    throw ex;
                }
            }

            Remoting.call("MailManager.reloadMailAccount", new object[] { }, this);
        }