public void Unbucket(BucketArgs args)
 {
     Event.RaiseEvent("item:unbucketing:starting", args, this);
     var contextItem = args.Item;
     if (contextItem.IsNotNull())
     {
         Util.SearchHelper.AddSearchTab(contextItem, contextItem.GetEditors());
         Shell.Applications.Dialogs.ProgressBoxes.ProgressBox.Execute(Util.Constants.UnBucketingText, Util.Constants.UnBucketingText, Images.GetThemedImageSource("Business/32x32/chest_delete.png"), this.StartProcess, new object[] { contextItem });
         Context.ClientPage.SendMessage(this, "item:load(id=" + contextItem.ID + ")");
         Context.ClientPage.SendMessage(this, "item:refreshchildren(id=" + contextItem.Parent.ID + ")");
     }
 }
        public void CreateBucket(BucketArgs args)
        {
            Event.RaiseEvent("item:bucketing:starting", args, this);
            var contextItem = args.Item;
            MultilistField editors = contextItem.Fields["__Editors"];
            using (new EditContext(contextItem, SecurityCheck.Disable))
            {
                if (!editors.Items.Contains(Util.Constants.SearchEditor))
                {
                    var tempEditors = editors.GetItems();
                    tempEditors.ToList().ForEach(tempEditor => editors.Remove(tempEditor.ID.ToString()));
                    editors.Add(Util.Constants.SearchEditor);
                    tempEditors.ToList().ForEach(tempEditor => editors.Add(tempEditor.ID.ToString()));
                }
            }

            Shell.Applications.Dialogs.ProgressBoxes.ProgressBox.Execute(Util.Constants.BucketingText, Util.Constants.BucketingProgressText, Images.GetThemedImageSource("Business/16x16/chest_add.png"), this.StartProcess, new object[] { contextItem });
            Context.ClientPage.SendMessage(this, "item:load(id=" + contextItem.ID + ")");
            Context.ClientPage.SendMessage(this, "item:refreshchildren(id=" + contextItem.Parent.ID + ")");
        }