private void CarryOutTheRequest(UIApplication uiapp, Stage directive)
        {
            var document = uiapp.ActiveUIDocument.Document;
            var note = directive.Actor;

            switch (directive.Act)
            {
                case Act.None:
                    break;

                case Act.Add:
                    using (var t = new Transaction(document))
                    {
                        t.Start("Add Sheet Note");
                        DocumentAccess.UpdateNoteInStorage(document, note);
                        t.Commit();
                    }
                    break;

                case Act.Delete:
                    using (var t = new Transaction(document))
                    {
                        t.Start("Delete Sheet Note");
                        DocumentAccess.DeleteElements(document, note);
                        DocumentAccess.DeleteNoteFromStorage(document, note);
                        t.Commit();
                    }
                    break;

                case Act.Update:
                    using (var t = new Transaction(document))
                    {
                        t.Start("Update Sheet Note");
                        DocumentAccess.UpdateElements(document, note);
                        DocumentAccess.UpdateNoteInStorage(document, note);
                        t.Commit();
                    }
                    break;
            }
        }
        /***********************************************************************************************************************/


        internal void ChangeDocument(Stage stage)
        {
            Application.ThisApp.GetRequestHandler().Request.Make(stage);
            Application.ThisApp.GetExEvent().Raise();
        }
 internal void Make(Stage sheetNoteAction)
 {
     Interlocked.Exchange<Stage>(ref _request, sheetNoteAction);
 }