public virtual TAttribute GetTriggerAttributeOrNull <TAttribute>()
        {
            var triggerBinding = InputBindings.SingleOrDefault(p => p.Metadata.IsTrigger);

            if (triggerBinding != null)
            {
                ExtensionBinding extensionBinding = triggerBinding as ExtensionBinding;
                if (extensionBinding != null)
                {
                    return(extensionBinding.Attributes.OfType <TAttribute>().SingleOrDefault());
                }
            }

            return(default(TAttribute));
        }