private void addEnabledClickHandler() {
        listPresenter.setEnabledStateHandler((rule, isEnabled) -> {
            if (visibleRules != null) {
                if (rule != null && !isDefaultRule(rule)) {
                    final DataRetentionRule newRule = new DataRetentionRule(
                            rule.getRuleNumber(),
                            rule.getCreationTime(),
                            rule.getName(),
                            isEnabled,
                            rule.getExpression(),
                            rule.getAge(),
                            rule.getTimeUnit(),
                            rule.isForever());

                    int index = visibleRules.indexOf(rule);
                    visibleRules.remove(index);
                    visibleRules.add(index, newRule);
                    index = visibleRules.indexOf(newRule);

                    update();
                    setDirty(true);

                    listPresenter.getSelectionModel().setSelected(visibleRules.get(index));
                }
            }
        });
    }
@return The rules created by the users, ignoring the default retain all rule
stroom-core-client/src/main/java/stroom/receive/rules/client/presenter/DataRetentionPolicyPresenter.java