- Class<? extends DataObject> argType = arg.getType();
- DataContainerCodecPrototype<?> ctxProto = byBindingArgClass.get(argType);
- Preconditions.checkArgument(ctxProto != null,"Invalid child");
-
- DataContainerCodecContext<?> context = ctxProto.get();
- if(context instanceof ChoiceNodeCodecContext) {
- ChoiceNodeCodecContext casted = (ChoiceNodeCodecContext) context;
- casted.addYangPathArgument(arg, builder);
- DataContainerCodecContext<?> caze = casted.getCazeByChildClass(arg.getType());
+ final Class<? extends DataObject> argType = arg.getType();
+ final DataContainerCodecPrototype<?> ctxProto = byBindingArgClass.get(argType);
+ final DataContainerCodecContext<?, ?> context =
+ childNonNull(ctxProto, argType, "Class %s is not valid child of %s", argType, getBindingClass()).get();
+ if (context instanceof ChoiceNodeCodecContext) {
+ final ChoiceNodeCodecContext<?> choice = (ChoiceNodeCodecContext<?>) context;
+ final DataContainerCodecContext<?, ?> caze = choice.getCazeByChildClass(arg.getType());
+ choice.addYangPathArgument(arg, builder);