private void emitCode(IntermediateModel intermediateModel) throws Exception {
        final Iterable<GeneratorTask> generatorTasks = createGeneratorTasks(intermediateModel);
        try (CodeEmitter emitter = new CodeEmitter(generatorTasks, new GeneratorTaskExecutor())) {
            emitter.emit();
        }
    }
load ServiceModel. load code gen configuration from individual client. load Waiters. generate intermediate model. generate
code.
aws-java-sdk-code-generator/src/main/java/com/amazonaws/codegen/CodeGenerator.java