@Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        Rule rule = (Rule) o;
        return conditions.equals(rule.conditions) && Objects.equals(documentation, rule.documentation);
    }
Invoke the {@link RuleValueVisitor} functions for this Rule.

@param visitor the visitor to be invoked.
@param <T>     the visitor return type.
@return the return value of the visitor.
smithy-rules-engine/src/main/java/software/amazon/smithy/rulesengine/language/syntax/rule/Rule.java