/// <summary>
        /// Encapsulates a workspace edit session (or an edit operation).  The edits will not be saved if an exception is thrown.  If the workspace is already being edited before this method is called, the edit session will not be stopped at the end of the method.
        /// </summary>
        /// <param name="workspace">The workspace in which edits are performed.</param>
        /// <param name="action">The editing action.</param>
        /// <returns></returns>
        public static bool Edit(this IWorkspace workspace, Action action)
        {
            Exception ex;

            return(workspace.Edit(action, out ex));
        }