protected override void Invoke(object parameter)
        {
            if (EventObject != null)
            {
                if (!EventObjectType.GetTypeOrTypeInfo().IsAssignableFrom(EventObject.GetType()))
                {
                    return;
                }
            }

            var targetEventRouter = EventRouter ?? EventRouter.Instance;

            targetEventRouter.RaiseEvent(this, EventObject, EventObjectType, EventRoutingName);
        }