protected Model transformWithConfig(TransformContext context, Config config) {
        // Resolve relative IDs by defaulting to smithy.api# if the given trait ID is relative.
        Set<ShapeId> ids = new HashSet<>(config.getTraits().size());
        for (String id : config.getTraits()) {
            ids.add(ShapeId.fromOptionalNamespace(Prelude.NAMESPACE, id));
        }

        return context.getTransformer().removeShapesIf(context.getModel(), shape -> {
            return ids.stream().anyMatch(shape::hasTrait);
        });
    }
Sets the shape IDs of the traits to filter shapes by.

@param traits The shape IDs of the traits that if present causes a shape to be removed.
smithy-build/src/main/java/software/amazon/smithy/build/transforms/ExcludeShapesByTrait.java