+ return cached != null ? unmaskNull(cached) : loadMember(handle, supplier.getCodecContext());
+ }
+
+ protected final @NonNull Object codecMemberOrEmpty(final @Nullable Object value,
+ final @NonNull Class<? extends DataObject> bindingClass) {
+ return value != null ? value : emptyObject(bindingClass);
+ }
+
+ private @NonNull Object emptyObject(final @NonNull Class<? extends DataObject> bindingClass) {
+ final var childContext = context.getStreamChild(bindingClass);
+ if (childContext instanceof StructuralContainerCodecContext<?> structural) {
+ return structural.emptyObject();
+ }
+ throw new VerifyException("Unexpected context " + childContext);