/// <summary>
        /// Führt alle Aktionen im Kontext eines Zustands aus.
        /// </summary>
        /// <param name="token">Der auszuführende Zustand.</param>
        /// <exception cref="ArgumentNullException">Es wurde kein Zustand übergeben.</exception>
        internal void Execute( PipelineToken token )
        {
            // Validate
            if (token == null)
                throw new ArgumentNullException( "token" );

            // Forward
            OnExecute( token );
        }
        /// <summary>
        /// Führt alle Aktionen im Kontext eines Zustands aus.
        /// </summary>
        /// <param name="token">Der auszuführende Zustand.</param>
        /// <exception cref="ArgumentNullException">Es wurde kein Zustand übergeben.</exception>
        internal void Execute(PipelineToken token)
        {
            // Validate
            if (token == null)
            {
                throw new ArgumentNullException("token");
            }

            // Forward
            OnExecute(token);
        }
 /// <summary>
 /// Führt alle Aktionen im Kontext eines Zustands aus.
 /// </summary>
 /// <param name="token">Der auszuführende Zustand.</param>
 protected abstract void OnExecute( PipelineToken token );
 /// <summary>
 /// Führt alle Aktionen im Kontext eines Zustands aus.
 /// </summary>
 /// <param name="token">Der auszuführende Zustand.</param>
 protected abstract void OnExecute(PipelineToken token);