@Override
    public Symbol structureShape(StructureShape shape) {
        var builder = getSymbolBuilder(shape);
        if (shape.hasTrait(TraitDefinition.ID)) {
            if (shape.hasTrait(AuthDefinitionTrait.ID)) {
                builder.definitionFile(getDefinitionFile(SERVICE_FILE));
            }
            return builder.build();
        }

        builder.definitionFile(getDefinitionFile(serviceShape, shape));
        if (ioToOperation.containsKey(shape.getId())) {
            // Input and output structures are documented on the operation's definition page.
            var operation = ioToOperation.get(shape.getId());
            builder.definitionFile(getDefinitionFile(serviceShape, operation));
            builder.putProperty(OPERATION_PROPERTY, operation);
        }
        return builder.build();
    }
Constructor.

@param model The model to provide symbols for.
@param docSettings Settings used to customize symbol creation.
smithy-docgen/src/main/java/software/amazon/smithy/docgen/DocSymbolProvider.java