public final void useFileWriter(String filename, String namespace, Consumer<W> writerConsumer) {
        writerConsumer.accept(checkoutWriter(filename, namespace));
    }
Gets a previously created writer or creates a new one if needed.

<p>If a writer already exists, a newline is automatically appended to
the writer (either a newline or whatever value was set on
{@link #setAutomaticSeparator}).

@param filename Name of the file to create.
@param namespace Namespace associated with the file (or an empty string).
@param writerConsumer Consumer that is expected to write to the {@code SymbolWriter}.
smithy-codegen-core/src/main/java/software/amazon/smithy/codegen/core/WriterDelegator.java