public ObjectNode expectNoAdditionalProperties(Collection<String> allowedProperties) {
        for (String key : getStringMap().keySet()) {
            if (!allowedProperties.contains(key)) {
                Set<String> additional = new HashSet<>(getStringMap().keySet());
                additional.removeAll(allowedProperties);
                throw new ExpectationNotMetException(String.format(
                        "Expected an object with possible properties of %s, but found additional properties: %s",
                        ValidationUtils.tickedList(allowedProperties),
                        ValidationUtils.tickedList(additional)), this);
            }
        }

        return this;
    }
Ensures that there are no additional properties other than the
provided member names.

@param allowedProperties Properties that may exist.
@return Returns self
@throws ExpectationNotMetException if other properties are found.
smithy-model/src/main/java/software/amazon/smithy/model/node/ObjectNode.java