public Model filterTraits(Model model, BiPredicate<Shape, Trait> predicate) {
        return new FilterTraits(predicate).transform(this, model);
    }
Filters traits out of the model that do not match the given predicate.

<p>The predicate function accepts the shape that a trait is attached to
and the trait. If the predicate returns false, then the trait is
removed from the shape.

@param model Model to transform.
@param predicate Predicate that accepts a (Shape, Trait) and returns
 false if the trait should be removed.
@return Returns the transformed model.base.
smithy-model/src/main/java/software/amazon/smithy/model/transform/ModelTransformer.java