public Object expectProperty(String name) {
        return getProperty(name).orElseThrow(() -> new IllegalArgumentException(String.format(
                "Property `%s` is not part of %s, `%s`",
                name,
                getClass().getSimpleName(),
                this)));
    }
Gets a specific additional property or throws if missing.

@param name Property to retrieve.
@return Returns the found property.
@throws IllegalArgumentException if the property is not present.
smithy-codegen-core/src/main/java/software/amazon/smithy/codegen/core/TypedPropertiesBag.java