private void parse() {
            // From: https://tools.ietf.org/html/rfc9110#section-8.3.1
            // The type, subtype, and parameter name tokens are case-insensitive.
            //     media-type = type "/" subtype *( OWS ";" OWS parameter )
            //     type       = token.
            type = parseToken().toLowerCase(Locale.US);
            expect('/');

            //     subtype    = token
            subtype = parseToken().toLowerCase(Locale.US);
            ws();

            //     parameter      = token "=" ( token / quoted-string )
            while (!eof()) {
                expect(';');
                ws();
                String name = parseToken().toLowerCase(Locale.US);
                expect('=');
                String value = peek() == '"'
                        ? parseQuotedString()
                        : parseToken();
                parameters.put(name, value);
                ws();
            }
        }
Gets the optional structured syntax suffix.

<p>For example given, "application/foo+json", this method returns
"json". Given "application/foo+baz+json", this method returns
"json". Given "application/json", this method returns an empty
{@code Optional}.

@return Returns the optional structured syntax suffix value with no "+".
smithy-utils/src/main/java/software/amazon/smithy/utils/MediaType.java