@Override
    public int hashCode() {
        if (cachedHashCode == 0) {
            cachedHashCode = toShapeId().hashCode() * 17 + toNode().hashCode();
        }
        return cachedHashCode;
    }
@param id ID of the trait.
@param nodeValue The node representation of the shape, if known and trusted.
smithy-model/src/main/java/software/amazon/smithy/model/traits/AbstractTrait.java