public T pushState(String sectionName) {
        return pushState(CodeSection.forName(sectionName));
    }
Copies and pushes the current state to the state stack using a named
state that can be intercepted by functions registered with
{@link #onSection(CodeInterceptor)}.

<p>The text written while in this state is buffered and passed to each
state interceptor. If no text is written by the section or an
interceptor, nothing is changed on the {@code AbstractCodeWriter}. This
behavior allows for placeholder sections to be added into
{@code AbstractCodeWriter} generators in order to provide extension points
that can be otherwise empty.

@param sectionName Name of the section to set on the state.
@return Returns the code writer.
smithy-utils/src/main/java/software/amazon/smithy/utils/AbstractCodeWriter.java