protected override void _activate(MacroTriggerWithArguments triggerWithArguments)
        {
            object[] argumentObjects = triggerWithArguments.ArgumentObjects;
            Router   router          = argumentObjects[0] as Router;

            if (router == null)
            {
                return;
            }
            RouterOutput routerOutput = argumentObjects[1] as RouterOutput;

            if (routerOutput == null)
            {
                return;
            }
            RouterOutput.CurrentInputChangedDelegate routerOutputCurrentInputChangedHandler = (ro, ri) => triggerWithArguments.Fire();
            routerOutput.CurrentInputChanged += routerOutputCurrentInputChangedHandler;
            ActivationData activationData = new ActivationData(routerOutput, routerOutputCurrentInputChangedHandler);

            triggerWithArguments.Activated(activationData);
        }
 public ActivationData(RouterOutput routerOutput, RouterOutput.CurrentInputChangedDelegate routerOutputCurrentInputChangedHandler)
 {
     RouterOutput = routerOutput;
     RouterOutputCurrentInputChangedHandler = routerOutputCurrentInputChangedHandler;
 }