default void consumeMatches(Model model, Consumer<ShapeMatch> shapeMatchConsumer) {
        // Methods for providing a starting environment were introduced after initially releasing the Selector
        // interface. Typically, you'd call matches(Model, Env, Consumer) here, but to maintain backward compatibility,
        // this calls matches(model). Implementations of this interface should override both this method and
        // consumeMatches(Model, Env, Consumer);
        matches(model).forEach(shapeMatchConsumer);
    }
Matches a selector to a set of shapes and receives each matched shape
with the variables that were set when the shape was matched.

@param model Model to select shapes from.
@param shapeMatchConsumer Receives each matched shape and the vars available when the shape was matched.
smithy-model/src/main/java/software/amazon/smithy/model/selector/Selector.java