private GroupChildRuleSetBuilder(RuleEngineContext.RuleEngineContext context, string name, string description,
                                         IRuleExpressionParser <TEntity> ruleparser,
                                         IPropertyRuleExpressionParser <TEntity> propertyparser,
                                         GroupRuleSetBuilder <TEntity, TKey> groupRuleSetBuilder)
        {
            this._context = context;
            _ruleparser   = ruleparser;

            this._groupRuleSetBuilder = groupRuleSetBuilder;
            this._propertyparser      = propertyparser;
            _ruleSetBuilder           = RulesetBuilder <TEntity> .Create(context)
                                        .WithName(name)
                                        .WithDescription(description)
                                        .SetPropertyRuleParser(propertyparser)
                                        .SetRuleParser(ruleparser);
        }
 internal static GroupChildRuleSetBuilder <TEntity, TKey> Create(RuleEngineContext.RuleEngineContext context, string name, string description,
                                                                 IRuleExpressionParser <TEntity> ruleparser, IPropertyRuleExpressionParser <TEntity> propertyparser,
                                                                 GroupRuleSetBuilder <TEntity, TKey> groupRuleSetBuilder)
 {
     return(new GroupChildRuleSetBuilder <TEntity, TKey>(context, name, description, ruleparser, propertyparser, groupRuleSetBuilder));
 }