private Set<OperationShape> identifyOperations(Model model) {
        Set<OperationShape> operationsToCheck = new HashSet<>();

        // Look for operations that have an update lifecycle.
        for (ResourceShape resource : model.getResourceShapes()) {
            resource.getUpdate().ifPresent(id -> operationsToCheck.add(model.expectShape(id, OperationShape.class)));
        }

        // Look for operations based on their names.
        for (OperationShape operation : model.getOperationShapes()) {
            String name = operation.getId().getName().toLowerCase(Locale.ENGLISH);
            for (String prefix : OPERATION_NAMES_TO_CHECK) {
                if (name.startsWith(prefix)) {
                    operationsToCheck.add(operation);
                    break;
                }
            }
        }

        return operationsToCheck;
    }
Finds operations that are meant to partially update a resource, but that use
members with default values in their input shapes, making it impossible
to know if the member was provided explicitly or defaulted.
smithy-model/src/main/java/software/amazon/smithy/model/validation/validators/DefaultValueInUpdateValidator.java