private void addLiteralPartIfNecessary() {
            CharSequence slice = borrowSliceFrom(mark);
            if (slice.length() > 0) {
                parts.add(ignoredAttribute -> slice);
            }
            mark = position();
        }
Parses message templates by slicing out literals and scoped attribute selectors.

<p>Two "@" characters in a row (@@) are considered a single "@" because the
first "@" acts as an escape character for the second.
smithy-model/src/main/java/software/amazon/smithy/model/validation/linters/EmitEachSelectorValidator.java