private static List<ShapeId> findTraitNames(Model model, Set<ShapeId> traitIds) {

        List<ShapeId> applied = new ArrayList<>(model.getAppliedTraits());

        List<ShapeId> traitNames = new ArrayList<>();
        for (ShapeId shapeId : applied) {
            if (traitIds.contains(shapeId)) {
                traitNames.add(shapeId);
            }
        }
        Collections.sort(traitNames);

        return traitNames;
    }
Writes a build info file for each projection. This file contains the
projection name, the filters, mappers, and validation events encountered
while building the model.

<p>This plugin is invoked regardless of whether or not the model contains
error or unsuppressed validation events.

<p>This plugin is only invoked if the projection and original model are
configured on the provided PluginContext.
smithy-build/src/main/java/software/amazon/smithy/build/plugins/BuildInfoPlugin.java