class UnitRuleGroup extends CompositeRule {

    /**
     * Create a unit rule group.
     */
    public UnitRuleGroup() {
    }

    /**
     * Create a unit rule group.
     * @param name of the composite rule
     */
    public UnitRuleGroup(String name) {
        super(name);
    }

    /**
     * Create a unit rule group.
     * @param name of the composite rule
     * @param description of the composite rule
     */
    public UnitRuleGroup(String name, String description) {
        super(name, description);
    }

    /**
     * Create a unit rule group.
     * @param name of the composite rule
     * @param description of the composite rule
     * @param priority of the composite rule
     */
    public UnitRuleGroup(String name, String description, int priority) {
        super(name, description, priority);
    }

    @Override
    public boolean evaluate(Facts facts) {<FILL_FUNCTION_BODY>}

    @Override
    public void execute(Facts facts) throws Exception {
        for (Rule rule : rules) {
            rule.execute(facts);
        }
    }
}

        if (!rules.isEmpty()) {
            for (Rule rule : rules) {
                if (!rule.evaluate(facts)) {
                    return false;
                }
            }
            return true;
        }
        return false;
    
<methods>public void <init>() ,public void <init>(java.lang.String) ,public void <init>(java.lang.String, java.lang.String) ,public void <init>(java.lang.String, java.lang.String, int) ,public void addRule(java.lang.Object) ,public abstract boolean evaluate(org.jeasy.rules.api.Facts) ,public abstract void execute(org.jeasy.rules.api.Facts) throws java.lang.Exception,public void removeRule(java.lang.Object) <variables>private final non-sealed Map<java.lang.Object,org.jeasy.rules.api.Rule> proxyRules,protected Set<org.jeasy.rules.api.Rule> rules