- @SuppressWarnings("unchecked")
- public final <C extends DataObject> DataContainerCodecContext<C, ?> streamChild(final Class<C> childClass) {
- return (DataContainerCodecContext<C, ?>) childNonNull(streamChildPrototype(childClass), childClass,
- "Child %s is not valid child of %s", getBindingClass(), childClass).get();
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public final <C extends DataObject> Optional<DataContainerCodecContext<C, ?>> possibleStreamChild(
- final Class<C> childClass) {
- final var childProto = streamChildPrototype(childClass);
- if (childProto != null) {
- return Optional.of((DataContainerCodecContext<C, ?>) childProto.get());
- }
- return Optional.empty();
- }
-
- @Nullable DataContainerCodecPrototype<?> streamChildPrototype(final @NonNull Class<?> childClass) {