/// <summary>
 /// Initializes a new instance of the <see cref="ActionSuiteProvider"/> class.
 /// </summary>
 public ActionSuiteProvider()
 {
     actionDescriptorSuite = null;
     actionListSuite       = null;
     actionReferenceSuite  = null;
     disposed = false;
 }
        /// <summary>
        /// Creates the action reference suite.
        /// </summary>
        /// <exception cref="ObjectDisposedException">The class has been disposed.</exception>
        public void CreateReferenceSuite()
        {
            if (disposed)
            {
                throw new ObjectDisposedException("ActionSuiteProvider");
            }

            if (!ReferenceSuiteCreated)
            {
                actionReferenceSuite = new ActionReferenceSuite();
            }
        }
        /// <summary>
        /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
        /// </summary>
        public void Dispose()
        {
            if (!disposed)
            {
                disposed = true;

                if (actionDescriptorSuite != null)
                {
                    actionDescriptorSuite.Dispose();
                    actionDescriptorSuite = null;
                }
                actionListSuite      = null;
                actionReferenceSuite = null;
            }
        }