public static void RegisterConditional(FluentScope fluentScope, FluentBuilderToken token)
        {
            var conditionalExpression = fluentScope.Get(RegistryKeys.ConditionalExpression);
            var sourceType            = conditionalExpression.Parameters[0].Type;
            var engine           = token.CurrentEngine;
            var conditionalToken = token.Condition();

            var invoker = (IRuleInvoker)Utilities.CreateType(typeof(ConditionalInvoker <>), sourceType)
                          .CreateInstance(conditionalExpression, conditionalToken.IfTrueEngine, conditionalToken.IfFalseEngine);

            engine.InvokerRegistry.RegisterInvoker(invoker);
        }