public Builder validateOrElse(String error, ToCondition... condition) {
            Builder next = new Builder(javaLocation());
            next.onBuild = (Rule rule) -> this.treeRule(
                    Rule.builder().conditions(condition).treeRule(rule),
                    Rule.builder().error(error));
            return next;
        }
If `condition` IS NOT met, return an error. Otherwise, proceed with the rules generated by
the returned builder.
<p>
This method returns a new builder that must be used!

@param condition a coercible {@link Condition}
@param error     an error description if the condition is not matched
@return new builder to attach subsequent rules to
smithy-rules-engine/src/main/java/software/amazon/smithy/rulesengine/language/syntax/rule/Rule.java