@Override
    public void write(DocWriter writer, String previousText, ShapeDetailsSection section) {
        var service = section.context().model().expectShape(section.context().settings().service());
        var trait = service.expectTrait(HttpApiKeyAuthTrait.class);
        writer.putContext("name", trait.getName());
        writer.putContext("location", trait.getIn().equals(Location.HEADER) ? "header" : "query string");
        writer.putContext("scheme", trait.getScheme());
        writer.putContext("authHeader", AUTH_HEADER_REF);
        writer.write("""
                The API key must be bound to the ${location:L} using the key ${name:`}.${?scheme} \
                Additionally, the scheme used in the ${authHeader:R} must be ${scheme:`}.${/scheme}

                $L""", previousText);
    }
Adds additional context to the description of api key auth based on the customized values.
smithy-docgen/src/main/java/software/amazon/smithy/docgen/interceptors/ApiKeyAuthInterceptor.java