private C createContext(ServiceShape serviceShape, SymbolProvider provider, List<I> integrations) {
        LOGGER.fine(() -> "Creating a codegen context for " + directedCodegen.getClass().getName());
        return directedCodegen.createContext(new CreateContextDirective<>(
                model,
                settings,
                serviceShape,
                provider,
                fileManifest,
                integrations));
    }
Finalizes the Runner and performs directed code generation.

@throws IllegalStateException if a required value has not been provided.
smithy-codegen-core/src/main/java/software/amazon/smithy/codegen/core/directed/CodegenDirector.java