@SuppressWarnings("unchecked")
    public <T> Optional<T> getProperty(Property<T> property) {
        return Optional.ofNullable((T) typedProperties.get(property));
    }
Get a typed property if present.

@param property   property key to get by exact reference identity.
@param <T> value type of the property
@return Returns the optionally found property.
smithy-codegen-core/src/main/java/software/amazon/smithy/codegen/core/TypedPropertiesBag.java