/// <summary>
 /// Runs a command
 /// </summary>
 /// <param name='target'>
 /// Object that implements the command handler
 /// </param>
 /// <param name='cmd'>
 /// The command to be executed
 /// </param>
 /// <remarks>
 /// The default implementation of this method runs the command handler method
 /// to which this attribute is applied. A custom implementation of this method can call
 /// base.Run at any point to run the method handler, or not call it at all if it
 /// wants to provide a replacement implementation.
 /// </remarks>
 protected virtual void Run(object target, Command cmd)
 {
     next.Run(target, cmd);
 }