@Override
            boolean isStructureMemberOptional(StructureShape container, MemberShape member, Shape target) {
                // Evaluated in this order.
                // 1. Does the member have the required trait? Stop further checks, it's non-optional.
                // 2. Does the member have a default trait set to null? Stop further checks, it's optional.
                // 3. Does the member have a default trait not set to null? Stop further checks, it's non-optional.
                return !member.hasTrait(RequiredTrait.ID) && !member.hasNonNullDefault();
            }
A server, or any other kind of authoritative model consumer
that does not honor the {@link InputTrait} and {@link ClientOptionalTrait}.

<p>This mode should only be used for model consumers that have
perfect knowledge of the model because they are built and deployed
in lock-step with model updates. A client does not have perfect
knowledge of a model because it has to be generated, deployed,
and then migrated to when model updates are released. However, a
server is required to be updated in order to implement newly added
model components.
smithy-model/src/main/java/software/amazon/smithy/model/knowledge/NullableIndex.java