public Builder escapePredicate(BiPredicate<Shape, Symbol> escapePredicate) {
            this.escapePredicate = escapePredicate;
            return this;
        }
Sets a predicate that is used to control when a shape + symbol
combination should be checked if it's a reserved word.

<p>The predicate is invoked when {@code toSymbol} is called. It
is used to disable/enable escaping reserved words based on the
shape and symbol. The given predicate accepts the {@code Shape}
and the {@code Symbol} that was created for the shape and returns
true if reserved word checks should be made or false if reserved
word checks should not be made. For example, some code generators
only escape words that have namespaces to differentiate between
language built-ins and user-defined types.

<p>By default, all symbols are checked for reserved words.

@param escapePredicate Predicate that returns true if escaping should be checked.
@return Returns the builder.
smithy-codegen-core/src/main/java/software/amazon/smithy/codegen/core/ReservedWordSymbolProvider.java