@Override
    public boolean equals(Object other) {
        if (!(other instanceof Model)) {
            return false;
        } else if (other == this) {
            return true;
        }

        Model otherModel = (Model) other;
        return getMetadata().equals(otherModel.getMetadata()) && shapeMap.equals(otherModel.shapeMap);
    }
Converts the model to an immutable Set of shapes.

@return Returns an unmodifiable set of shapes.
smithy-model/src/main/java/software/amazon/smithy/model/Model.java