private void handleConditionalOnLine(int pendingTextStart, int startPosition, int startColumn) {
            if (parser.peek() != '\r' && parser.peek() != '\n' && parser.peek() != Character.MIN_VALUE) {
                // If the expression is not followed directly by a newline, then all leading text.
                if (pendingTextStart > -1) {
                    pushOperation(Operation.stringSlice(parser.input(), pendingTextStart, startPosition));
                }
            } else if (isAllLeadingWhitespaceOnLine(startPosition, startColumn)) {
                if (pendingTextStart > -1) {
                    pushOperation(Operation.stringSlice(parser.input(),
                            pendingTextStart,
                            startPosition - startColumn));
                }
                parser.skip();
            } else if (pendingTextStart > -1) {
                pushOperation(Operation.stringSlice(parser.input(), pendingTextStart, startPosition));
            }
        }
A BlockOperation that repeats a template for each value referenced by the block. Each iteration pushes
a state to the writer that includes key, value, key.first, and key.last context properties. The name
of the context property can be customized in the template.
smithy-utils/src/main/java/software/amazon/smithy/utils/CodeFormatter.java